网站建设选择 NoSQL 数据库时你需要关心的 10 个问题-惠州万鸿信息技术有限公司
惠州万鸿信息技术有限公司

建站找万鸿

柏林社资源 柏林社资源,网站源码,网站模板,系统资源,css模板,企业网站模板下载 柏林社资源提供大量精品网站源码网页模板,企业网站模板,网站模板下载,网页设计模板,网站后台模板,个人博客模板,上千种免费网页模板和各种网站系统

打造互联网线上专属平台

服务咨询热线

骆经理 15811968825

徐经理 18122598037

您的位置: 首页  >   行业新闻  >   网站建设选择 NoSQL 数据库时你需要关心的 10 个问题

网站建设选择 NoSQL 数据库时你需要关心的 10 个问题

发布者: 自动发文 | 发布时间: 2018-10-10 | 浏览次数: 820
选择 NoSQL 数据库时你需要关心的 10 个问题

那么我为什么要写这篇文章呢?

是因为我以为NoSQL解决方案不如RDBMS解决方案吗?当然不!

是因为我专注于S网站建设QL的干事办法,而不想堕入一种相对较新的技能的不确定性吗?不,也不是!事实上,我十分兴奋地学习和运用各种分布式数据库供给的设备。

那我为什么要写这个?

原因很简略——几年前,我见证了规划一个为遥测事情供给形式办理设备的体系。事实证明,这比开端方案的要贵重得多。为什么呢?因为挑选了过错的数据库解决方案。

这个体系的一个要求是保证形式修正是共同的,而且形式的最新版别被显示给每个形式修正器。它还应该支撑并发修正。

此外,一起访问这个体系的用户数量永久不会超越几百个。存储的数据量不会是Tb级——最多几百Gb。

因而,假如咱们考虑了CAP定理的权衡,那么挑选应该是显而易见的——运用RDBMS。这样做的优点是支撑体系的共同性和事务支撑需求。

相反,挑选了NoSQL数据库(Azure表存储)来进行原型规划。这一挑选的官方原因是,它使原型规划更快,并供给了更大的灵活性,一起更新了单个遥测事情的形式。与Azure SQL比较,Azure表存储的低本钱被以为是另一个原因。



快进5个月……

该体系开端阅历许多关于保护CRUD操作完整性的问题。规划用来处理事务的瘦运用程序逻辑层现已不再那么薄了。晋级和向后兼容性的故事开端变得更加杂乱。

因为遭到许多其他问题的困扰,工程师们又回到了绘图板——这次是用Azure SQL替换存储层!我不记得详细的细节,可是这个改动增加了大约40%的额定时刻和本钱。

办理层很不快乐,这个项目简直被砍掉了。可是团队的工程师们十分优秀,他们能够完结这个项目,虽然有了一些延迟和开端的过错的技能决议。

这个项目有一个满意的结局——但它也可能不是这样的。事实上,许多内部项目都被关闭了,因为他们不能在许诺的日期范围内交给许诺的功能。

那么,您怎么知道NoSQL解决方案合适您的下一个软件项目呢?首要问问你自己和你的团队这十个问题:

#1:您是否准备好承受开发人员/体系办理员的训练本钱?
假如你是一家老练的IT软件开发公司,那么你很有可能现已有了了解SQL的人。这个组不仅包含开发人员,还包含数据库办理员(DBA)。

除非您计划为新的NoSQL项目进行招聘,不然将会有对现有开发人员和DBA的训练本钱。额定的训练也可能会延伸项目交给日期。

一种简略的考虑办法是:

核算您的团队成员(开发人员和DBA)拥有关系数据库技能的总年数。
核算出经过训练或新招聘取得经历相同NoSQL经历年数的本钱。
终究,弄清楚你从这个本钱中得到了什么。你的出资回报率?
在这个特定的项目中,这个团队的开发人员曾经都没有NoSQL经历,可是有很多的SQL Server经历。运用NoSQL解决方案在训练中增加了大约1个sprint,当然,这也是因为缺乏经历和规划上的失误。

#2:您的数据事务是根据什么?或许,您需求什么等级的事务支撑?
假如您的体系需求ACID特点,那么您最好仍是坚持运用RDBMS解决方案。不然,您将花费很多的时刻企图在您的运用程序/事务逻辑层仿制ACID保证,而且您可能依然没有RDBMS解决方案那么高效。

#3: 您需求Web/高可弹性性吗?
总是在先核算出您需求什么样的可弹性性。在这个特别的比如中,咱们正在为微软内部游戏工作室构建体系。

有10到15个游戏工作室正在考虑中——这取决于有多少注册用户运用这个体系
每个工作室最多有3-5个活泼的游戏标题。
每个游戏标题为三个环境存储遥测形式——开发、预出产(PPE)和出产
关于每个标题,将会有2-5个数据科学家一起修正游戏标题数据
每一个标题事情都有大约50 KB的max事情数据
咱们被要求存储一切的版别——咱们估量这个数字是1000除以一个标题的生命周期
有了以上大略的估量,咱们就能够核算并发性和存储需求:

总并发数 = 工作室数量 * 标题数量每工作室 * 用户数量每标题

= 15 * 5 * 5 = 375 并发用户

最大存储 = 工作室数量 * 标题数量每工作室 * 环境数量 * 事情存储巨细每版别* 需求存储的版别数

= 15 * 5 * 3 * 50 KB * 1000 = 11250000 KB = 11.25 GB最大存储<网站建设br>
SQL Azure支撑1024个并发翻开衔接,而且能够很简单地支撑并发需求。另外,在考虑云核算时,11.25 GB实际上是一个十分小的数字。

这个体系并不是下一个FaceBook或必应——那么NoSQL的道路真的值得吗?

#4:NoSQL解决方案真的能帮你省钱吗?
在纸面上,Azure表存储是一种更廉价的挑选,因为它的每Gb数据仅为美分,而SQL Azure则在此期间收取大约5美元的数据。

可是因为咱们体系的存储空间不会超越12 GB——这真的很重要吗?每月60美元是咱们在同一个体系上花30分钟写代码的钱。

因而,在决议运用NoSQL仅仅是因为它的单位本钱更低之前,先弄清楚节省下来的钱是否占了预算的很大一部分。

#5:你需求吸引风险出资吗?
风趣的是,硅谷对NoSQL有成见。这是因为感觉上NoSQL被以为具有内在的可弹性性,而且RDBMS被以为是不行弹性的。记住,关键字是“感觉上”!

这种可扩展性的感觉可能会让出资者信任,你的软件正处于正确的轨道上,准备好承受大规模的选用,然后吸引他们的出资资金。

许多NoSQL公司自身就是风投公司,这也给他们带来了活跃的成见。

终究,环绕“NoSQL”的一切营销活动都有助于推进出资者对你的产品的正面情绪。

#6:你是在雇佣创业精神的人吗?
假如你计划雇佣创业精神的人,他们中的许多人可能现已有NoSQL的知识了。

可是,假如你不在一个首要的科技中心,那么取得这些人才的时机就很少了。您地点的区域可能有一个现成的RDBMS开发人员池——企图在这样的区域中招募NoSQL工程师和DBA可能会延迟项目交给日期,而且因为供给需求曲线,也会花费您更多的钱。

我的主张是与你的招聘组织/人力资源部分协作,对开发者进行市场调查,并将其归入你的技能挑选中。

#7:你的客户在下流运用什么技能?
考虑这样一个场景:您向客户交给剖析数据。您正在运用NoSQL来存储剖析数据。可是,您的一个客户决议坚持运用根据SQL的陈述体系。

这对你来说意味着什么?

这意味着您现在需求将一切NoSQL数据转换为SQL格局,并经过Azure数据工厂等效劳将其向下推到客户的SQL数据库。这是您需求承担额定的开发和运营本钱。假如您的一切下流客户都在运用SQL,那么您需求认真地考虑是否运用NoSQL和做一切这些贵重的数据转换对您的体系有意义吗?

#8:关于你的产品,可用性是否胜过共同性?
假如你正在树立一个像Facebook newsfeed这样的体系,你可能会希望这个体系是高可用性的,而且是终究共同。

另一方面,假如您正在构建一个银行体系(或许像咱们的事例那样的形式存储),您可能希望支撑强共同性,并抛弃高可用性。

不管选用哪种办法,您都应该首要考虑CAP定理的意义,然后决议您的体系是否需求SQL或NoSQL解决方案。

#9:您是否预期对数据库形式进行很多更改?
假如您希望对数据库形式进行很多更改,就像移动运用程序、实时剖析、内容办理体系等常常发作的情况相同,那么NoSQL解决方案可能就是一种办法。

您能够运用一个分区方案,它答应您以一种比大大都SQL数据库答应的更便利的办法更新您的数据库形式。

#10:你想用NoSQL来取得个人的充分/满足吗?
请不要这样做!

我曾见过一些人,他们仅仅沉迷于学习一个NoSQL体系,并将其放入他们的简历中。这并没有什么错——我对NoSQL技能也很入神。

可是,请不要让这成为挑选技能仓库背后的驱动要素(有意识的或下意识的)。假如你情愿的话,你能够在自己的时刻里学习。
万鸿官网,网站建设
惠州万鸿信息技术有限公司

扫一扫获取万鸿最新行业资讯

惠州万鸿信息技术有限公司

服务热线:0752-2525585

联系电话:

徐经理 18122598037骆经理 15811968825

联系邮箱:

365634386@qq.com

公司地址:

广东省惠州市惠城区惠州大道20号赛格假日广场20层03号

惠州万鸿信息技术有限公司版权所有 粤ICP备15115757号-3