你总是选不对应该使用的数据库?这里5步教你解决这些忧愁( 二 )


在这种情况下 , 您需要确保正在考虑系统的安全性 。 事实是 , 我们讨论过的大多数NoSQL数据库 , 如果使用它们的默认设置进行配置 , 将没有安全性 。 任何人都可以连接到这些事物并检索数据并将数据写入其中 。 因此 , 请确保您的专家知道他们正在以安全方式进行此设置 。
你总是选不对应该使用的数据库?这里5步教你解决这些忧愁
文章图片
你总是选不对应该使用的数据库?这里5步教你解决这些忧愁】4.CAP考虑
CAP代表一致性 , 可用性和分区容限 。 该定理指出 , 您无法在单个数据库中以最佳水平获得所有属性 , 因为项目之间存在自然的取舍 。 您一次只能选择三分之二 , 这完全取决于您根据需求确定的优先级 。 例如 , 如果您的系统需要可用并且可以容忍分区 , 那么您必须愿意在一致性要求中接受一些延迟 。
传统的关系数据库非常适合CA端 , 而非关系数据库引擎大多满足AP和CP的要求 。
你总是选不对应该使用的数据库?这里5步教你解决这些忧愁
文章图片
一致性意味着任何读取请求都将返回最近的写入 。 对于SQL数据库 , 数据一致性通常是“强” , 对于NoSQL数据库 , 一致性可以是最终到“强” 。
可用性意味着无响应的节点必须在合理的时间内响应 。 并非每个应用程序都需要24/7全天候运行并具有99.999%的可用性 , 但是很可能您会更喜欢具有更高可用性的数据库 。
分区容限意味着即使网络或节点出现故障 , 系统仍将继续运行 。
应用程序的类型将确定您要在那里的内容 , 只有您知道实际需求 。 如果您的系统停机几秒钟或几分钟 , 实际上是否可以 , 如果不是 , 那么可用性应该是您的首要考虑 。 如果您要处理的是具有真实交易信息(例如股票交易或金融交易)的东西 , 那么您可能会最先重视一致性 。 尝试选择最适合您要权衡的技术 。
5.模式或数据模型
关系数据库以固定和预定义的结构存储数据 。 这意味着当您开始开发时 , 您将必须根据表和列定义数据模式 。 每当需求更改时 , 您都必须更改架构 。 这将导致创建新列 , 定义新关系 , 反映应用程序中的更改 , 与数据库管理员进行讨论等 。
NoSQL数据库提供了更大的灵活性在处理数据时 。 无需指定架构即可开始使用应用程序 。 另外 , NoSQL数据库对可以存储在一起的数据类型没有限制 。 它允许您随着需求的变化添加更多新类型 。 在应用程序构建过程中 , 大多数开发人员都喜欢较高的编码速度和较大的敏捷性 。 在这方面 , NoSQL数据库被证明是更好的选择 , 特别是对于需要快速实现的敏捷开发 。
你总是选不对应该使用的数据库?这里5步教你解决这些忧愁
文章图片
您确实需要考虑所有提到的5点 , 但最重要的是使一切保持简单 。 不要仅仅因为数据库在市场上流行就随便选择数据库 。 如果您不需要设置高度复杂的NoSQL集群或需要大量维护的工作(例如MongoDB或HBase) , 那么您无需维护就可以使用所有这些外部服务器来维护配置 。 考虑一下系统所需的最低要求 。 如果您不需要处理大规模的事务 , 那么就不需要使用NoSQL数据库 , 您可以选择MySQL , 这样就可以了 。