数据库平台必须具备的9个特征

如今,数据库面临着前所未有的挑战–他们必须能够处理大量的不同的数据,快速向客户端反馈结果,并应对极其复杂的技术环境,同时又要易于使用且高度可用。

为了应对这些挑战,现代数据库平台必须具备以下九个关键特征:

1.快速响应

现代数据库必须能够在不到一毫秒的时间内做出响应,以避免成为当今应用程序的性能瓶颈。在磁盘(spinning disks)上运行的数据库根本无法跟上。DRAM中的缓存层可以帮助加快请求响应,但是这增加了复杂性,并且不能总是足够快地满足每个请求。

越来越多的公司开始转向内存数据库,该数据库可以在不到一毫秒的时间内做出响应,而无需单独的缓存层。

2.可扩展性

现代应用程序可以处理越来越大的数据集。

公司必须计划以经济有效的方式扩展其数据平台,以满足整体增长,同时还要应对季节性的激增和需求的意外高峰。

对于在无需大量基础架构投资的情况下,线性扩展能够帮助实现这一目标。

3.高可用性

数据库发生故障,如果无法快速恢复,可能会导致数据丢失和用户“失望”,这是从支付交易到在线订单的所有业务都无法接受的问题。

这就是为什么选择具有高可用性且正常运行时间为99.999%的数据库的原因。

4.分层内存支持

数据库设计人员正在转向分层存储方案,将热数据存储在DRAM中,而其他数据则存放在–诸如基于闪存的固态磁盘之类的持久性内存选项上(该选项比磁盘快,但比DRAM便宜)。

他们以更低的成本获得了60-70%的DRAM性能。

5.简单性和可扩展性

由于没有单一的数据模型可以很好地处理所有类型的数据,因此你最终可能会在同一组织中甚至在同一应用程序中部署多个数据库。

那么解决方案是什么?在同一数据库中提供多模型数据库中的多个数据结构,通过这样减少了为每个数据模型提供相应的不同数据库,从而减少了复杂性和开销。

6.图形化界面

除了简单和通用之外,数据库还必须易于开发人员使用。

尽管命令行界面(CLI)仍然是与数据库平台一起使用的最常用方法,但对图形化用户界面的需求却在不断增长,以可视方式可以简化系统管理。

7. Cloud Native(包括混合云和多云环境)

云计算的兴起意味着,你不再需要管理所使用数据库中的内部工作。

但这不仅仅涉及购买数据库即服务(DBaaS)—为了最大程度地利用云,你技术堆栈中的每个元素都必须与通过云交付的各种资源一起使用。你的数据库必须与微服务体系结构以及容器和容器编排系统(例如Docker和Kubernetes)良好配合,并且可以在多云和混合云环境中工作。

8.拥有开源DNA

现在,即使是最保守的企业也意识到没有理由不依赖开源解决方案来处理几乎任何数据库用例。

拥有开源DNA是必不可少的:这是确保技术可扩展,并尽快更新的唯一方法。另外,扎根于开源意味着开发人员可以解决社区真正需要的东西,而不是仅仅是想要做什么。

9.未来的NoSQL

如今,你的大多数数据可能都没有结构化,很难像传统的SQL数据库一样在表中进行组织。

现在,NoSQL数据库将非结构化数据放入文档中,并使用键值数据存储和搜索功能来查找所需内容。SQL数据库将永远不会消失,但NoSQL就是未来。

本文改编自《Redis Labs白皮书》,在RedisLabs.com/rediscover-magazine/上可以免费在线阅读,并索取电子版。

译文连接:https://thenewstack.io/9-things-your-database-must-do/

K8S中文社区微信公众号

评论 抢沙发

登录后评论

立即登录