我是 NoSQL 新手,并试图理解它的含义。
我在许多不同的网站上看到许多文章重复这样一个事实:“SQL 数据库是垂直扩展的(通过添加 CPU/内存),而 NoSQL 数据库是水平扩展的(通过添加更多可以执行分布式计算的机器)”。
例如这些文章:
http://dataconomy.com/sql-vs-nosql-need-know/
http://www.thegeekstuff.com/2014/01/sql-vs-nosql-db/
问题是我不明白为什么。
据我所知,SQL 和 NoSQL 之间的主要区别(除了可扩展性问题)是 SQL 存储在表中,而 NoSQL 以不同的方式存储(Key-Value/Graph/xml 等)。
我似乎无法理解这两个事实(可扩展性和存储策略)之间的联系。这些对我来说似乎是无关的事情(可能是由于缺乏理解)。
我的问题不是perforce覆盖我的文件的"可怕"问题,而是相反,它没有.
我希望与其他人写的代码同步,所以我在perforce中做:" 获得修订 "然后从流中" 强制操作 "每个人都提交他们的工作(在保存我正在工作的文件的备份之后)在我的计算机上),但是当我在eclipse中打开文件时,它仍然是我的更改.
进一步 - 我正在对我的文件进行一些小的,故意的更改,然后" 获得修订 ",然后" 强制操作 "到它,同样的事情也发生了.
我在最后几天一直在同一工作区工作,当我昨天做它时,它按预期覆盖了我的文件.
此外,在Perforce 的" 提交 "选项卡中,此文件不在列表中,因此我没有意外地以某种方式提交它.
此外,通过从文件系统打开文件,我的更改仍然存在,所以它似乎不是eclipse刷新或类似的问题.
我想,有人吗?
我的主要内容下面有以下代码:
System.out.println(Thread.currentThread().getId());
for(inti=0;i!=Lock.totalThreads;i++) {
System.out.println("thread wascreated");
(new Thread(new MyThread())).start();
}
System.out.println("main finished running files");
Run Code Online (Sandbox Code Playgroud)
MyThread类看起来像这样:
public class MyThread implements Runnable {
private static int threadCounter=0;
private int myThreadId=0;
@Override
public void run() {
synchronized(Lock.lock){
threadCounter++;
myThreadId=threadCounter;
}
System.out.println("run()");
try {
runMe();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void runMe() throws IOException, InterruptedException {
String currentFile;
BufferedReader in;
System.out.println("run()"); …Run Code Online (Sandbox Code Playgroud) 我是SQL的新手,我正在尝试理解它的基本内容.
为什么在使用SQL时我们需要连接服务器?
在我非常狭隘的观点中,它只使用了一些数据库,例如可以实现为数组(或者"后台"实现的任何数据库).
例如,如果我想在我的计算机中设置一个表并对其进行一些操作,那么服务器有什么用处?为什么它不能"只是在那里"?
sql ×2
java ×1
java-threads ×1
nosql ×1
perforce ×1
scalability ×1
sql-server ×1
synchronized ×1