For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
对于大多数的软件开发项目和后台开发程序来说,一个合适的数据库服务器系统能够大大提高我们的数据存储等方面的问题,下面我们就一起来了解一下,关于数据库类型的选择我们需要注意哪些问题。
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除以一个标题的生命周期
4:NoSQL解决方案真的能帮你省钱吗?
在纸面上,Azure表存储是一种更便宜的选择,因为它的每Gb数据仅为美分,而SQL Azure则在此期间收取大约5美元的数据。
但是因为我们系统的存储空间不会超过12 GB——这真的很重要吗?每月60美元是我们在同一个系统上花30分钟写代码的钱。
因此,在决定使用NoSQL仅仅是因为它的单位成本更低之前,先弄清楚节省下来的钱是否占了预算的很大一部分。
5:你的客户在下游使用什么技术?
考虑这样一个场景:您向客户交付分析数据。您正在使用NoSQL来存储分析数据。然而,您的一个客户决定坚持使用基于SQL的报告系统。
这对你来说意味着什么?
这意味着您现在需要将所有NoSQL数据转换为SQL格式,并通过Azure数据工厂等服务将其向下推到客户的SQL数据库。这是您需要承担额外的开发和运营成本。如果您的所有下游客户都在使用SQL,那么您需要认真地考虑是否使用NoSQL和做所有这些昂贵的数据转换对您的系统有意义吗?
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。