主题:使用NOSQL将非常复杂的旧式客户端 - 服务器应用程序迁移到支持SAS的Web版本
我们计划将我们的几个系统从RDBMS迁移到NOSQL产品.我们正处于决定是否采用完整NOSQL或混合实施的阶段?
由于表系统,许多触发器,存储过程和约束之间存在复杂的关系,因此大型系统当前系统的表计数为数千.我们知道,迁移不是很容易,因为许多特定于数据库或特定于SQL的函数,分组,聚合函数,复杂连接,子/内部查询,限制,排序(排序依据)以及未使用的内容. .!所以这是艰难的情况.
数据可以在几百TB中增长并且将继续增长,我们需要遵循以下事项:
我遇到过一个与NOSQL竞争的RDBMS,它是VOLTDB,你有没有尝试过?
我认为Neo4j,Cassandra或HBase可以完成这项工作,我已经读过它会在应用程序级别增加多行代码以替换SQL但是我们对它没问题但是在实现SQL/RDBMS之类的结果它不应该降低性能因为它是我们的KSF(关键成功因素),而无单点故障是Hygine因子.:)
轻松添加节点以管理可伸缩性也很有帮助.
考虑在WEB上迁移具有数十万用户的ERP,CRM或EMR等系统.
您的投入将是有价值的,提前感谢.
据我所知,Azure Table Storage支持乐观并发模式,因此应用程序必须处理因同时更新同一实体而导致的所有错误.
我想知道当您同时更新和读取实体时表存储的行为是什么.是否有任何锁定机制,所以我的读取必须等到实体更新?从同一分区写入和读取实体时,是否有任何性能下降,有时甚至是相同的实体?争?我问这个是因为这个主题在关系数据库的世界中非常重要,但我不确定这个NoSQL解决方案的行为.
你能提供有关这个问题的任何文件吗?
提前致谢
我正在设计一个调查工具,用户可以用它来建立他们的调查或民意调查等.因此,一个基本的调查工具需要允许用户设计问题,上传文件,登录,注册,分享调查,通知和设置调查约束的激活.
我做了一些研究,决定在后端使用哪种数据库,无论是sql还是nosql.我有仅设计关系数据库的经验,所以我无法考虑如果Mongo DB或其他一些Nosql数据库将满足我的Web工具要求.
请给我一些建议以及如何为我的Web工具选择数据库类型的原因.
谢谢
我有一个问题:可以在没有java虚拟机的情况下安装数据库Cassandra吗?或者你必须有虚拟机来运行Cassandra?谢谢.
我计划最终将我的网站的数据库系统从MySQL切换到NoSQL(在这种情况下是Cassandra).
从我迄今约卡桑德拉理解的是,有没有这样的事,作为一个加入,但更有效地工作,而只是更大的记录.我对NoSQL atm来说并不是一个标准的专家,我实际上对它的了解非常少,而且我对它的工作原理非常困惑......
我的网络项目的目标之一是切换到Python和Cassandra,以便在我的网站开始增长时使用更高级和更快速的解决方案,我希望能够使用其他服务器轻松扩展它.
现在我正在为我的网站设计一个新功能,即从中获取文件和创建文件夹的功能.到目前为止,这是我最初使用的:如何加入/子查询第二个表(我问的一个问题)
然后人们暗示正常化的数据,使之成为3台系统,包括一个文件夹,一个文件夹/文件,以及一个用于文件.@egrunin回答了我的问题,甚至给了我NoSQL的信息,但我真的想用第二个来源检查它,以确保这是正确的方法.
SQL还有NoSQL的转换工具吗?
所以我的最终目标是在数据库中设计这个文件夹/文件系统(以及我正在添加的其他功能),这样当我从SQL切换到NoSQL时,我将准备好并且我的所有数据的转换将会很多更轻松.
任何有关将SQL转换为NoSQL,Cassandra或NoSQL如何工作的教程,指南和信息都非常受欢迎,到目前为止,Cassandra文档让我非常困惑.
这个问题有些奇怪,但我在当前的实现中碰到了它:
我想特权插入我的应用程序中的所有内容,我想到命令$ hint也可以用来让mongo不使用索引.
那可能吗?这是一个合理的问题,考虑到$ hint应该做什么?
谢谢
实施评论系统(大量数据写作)的最佳方式是什么?
1)使用一个RDBMS数据库,如MySQL,2个表一个用于主题,一个用于评论 优点是新注释的插入是快速,有效和简单,高效的索引.缺点 是缩小(水平缩放)很难.
2)使用一个nosql数据库,如couchdb或mongodb,优点是扩展(水平扩展)很容易,支持大量数据写入,无模式缺点 我认为插入新数据并不像RDBMS那样快速有效
例如,要更新couchdb文档,您需要获取整个文档,在本地更新它再次提交,文档大小将是巨大的,因此它将消耗带宽.
另外我认为couchdb就地更新,Mongodb更新会很慢,并且不像RDBMS那样高效
此外,当您想要在各种主题中获取每个用户的注释时,我认为在RDBMS中搜索比在nosql系统中更快.
这是couchdb数据库文档的示例[每个主题的文档示例]
{"_id":"doc id",
"_rev":"45521231465421"
"topic_title":"the title of the topic"
"topic_body":"the body of the topic"
"comments":[
{"date":"mm/dd/yy hh:mm:ss"}, {"commment":"bla1"}, {"user":"user1"}
{"date":"mm/dd/yy hh:mm:ss"}, {"commment":"bla2"}, {"user":"user2"}
{"date":"mm/dd/yy hh:mm:ss"}, {"commment":"bla3"}, {"user":"user3"}
{"date":"mm/dd/yy hh:mm:ss"}, {"commment":"bla4"}, {"user":"user4"}
{"date":"mm/dd/yy hh:mm:ss"}, {"commment":"bla5"}, {"user":"user5"}
{"date":"mm/dd/yy hh:mm:ss"}, {"commment":"bla6"}, {"user":"user6"}
]
}
Run Code Online (Sandbox Code Playgroud) 这可能听起来是一个普遍的问题,但我有一些想法可以通过在这里分享来进化.
我们的应用程序有几个超过1000万条记录的表格; 查询它们需要大约40秒.我们已经遵循已知的数据库设计实践,例如使用主键,索引等.我们还尝试归档旧行和表拆分等,但它仍然没有那么令人印象深刻.
该应用程序是数据密集型的,但据我所知,尽管像银行这样的许多网站确实拥有大量数据,但它们仍然具有良好的性能 我不是数据库方面的专家; 谁可以在这里指出我错过了什么?
将有一些标准技术,如数据库集群等,一些我的基础设施不允许.
与原始存储相比,是否有可能以更加处理的格式存储数据?数据库设计中是否出现了新的设计实践?我可以轻松迁移到NoSQL吗?NoSQL还有多好?
我正在尝试将数据从csv文件导入到mongodb
具有波纹管数据的CSV文件
7259555112 774561213 3 4
7259555112 774561214 4 5
7259555112 774561215 1 3
7259555112 774561216 2 1
7259555112 774561217 4 2
7259555112 774561218 6 1
7975795117 7599702622 3 2
7975795117 7599702623 2 1
第一个数字是MISDIN(cell_number),第二个数字是MISDIN第三个字段是mnay第一次从第二个第四个fiels获得的第一个字段是从第一个到第二个有多少支出
我想将它导入mongodb,我需要收集模式如下所示
7259555112(first_doucment我想把第一个Misdin作为索引)
{
{MSISDN:774561213
INCOMING_COUNT:4
outgoing_count:3
TOTAL_COUNT:7
is_EE:1
},
{MSISDN:774561214
INCOMING_COUNT:3
outgoing_count:2
TOTAL_COUNT:5
is_EE:1
},
{MSISDN:774561215
INCOMING_COUNT:1
outgoing_count:2
TOTAL_COUNT:3
is_EE:0
}
}
7975795117(第二份文件)
{
{MSISDN:7599702622
INCOMING_COUNT:3
outgoing_count:2
TOTAL_COUNT:5
is_EE:1
},
{MSISDN:7599702623
INCOMING_COUNT:2
outgoing_count:1
TOTAL_COUNT:3
is_EE:1
},
请使用mongoimport或任何其他工具指导如何实现此目的
谢谢
我有两个类调用School,并Student为你看到的.我想搜索"学校名称是bla bla bla的学生"和"学生的成绩高于90"的学校.我读了一些文件,但我有点困惑.
public class School extends BasicDBObject {
private int id;
private String name;
private String number;
private List<Student> studentList = new ArrayList<Student>();,
//getter and setters
}
public class Student extends BasicDBObject{
private int id;
private String name;
private String grade;
private School school;
//getter and setters
}
Run Code Online (Sandbox Code Playgroud)