关注数据而不是数据库

关注数据而不是数据库 Seastar是Apache Cassandra的托管平台,涵盖硬件基础架构,托管环境,自助服务API和仪表板以及支持团队。 这是使群集快速且经济高效地启动和运行所需的一切。 该平台由Network Redux的工程师团队构建,他们在企业托管行业拥有数十年的综合经验,并已支持各种数据库部署。

为什么我们要建造海星

我的团队在产品开发生命周期的早期就决定,我们希望构建一些东西,使公司能够有效地管理不断增长的数据集。 此任务的一部分依赖于首先选择然后有效地管理数据库。 我们已经看到许多公司围绕其数据驱动的应用程序构建了相同的基本操作组件。 本来可以花在特定于域的任务上的时间却浪费在了构建和部署与域无关的服务上,这些服务可以处理,存储和启用数据分析。 通常需要用于日志聚合,指标收集和显示以及备份的服务。 实施这些系统并非易事。 为了进一步增加站立这些支持服务的难度,需要从一开始就提供支持服务,而此时许多团队仍可能还不了解数据库的复杂性。 我们的目标是使团队摆脱构建和管理冗余数据基础架构的负担,以便他们可以更快地开始使用其数据。

选择卡桑德拉

自0.6版以来,我一直在观望Cassandra的开发,并且在以前的公司中花了一些时间来学习和操作Cassandra。 来自RDBMS背景,我很钦佩数据分发和复制之类的东西是该体系结构中的一等公民。 当时,Cassandra是一个年轻的项目,但是从一开始它就获得了很多东西。 几年后,在Seastar,我们考虑围绕其他数据库进行构建。 但是,我们认为Cassandra是最合适的选择,因为它提供了无共享的体系结构,可伸缩的性能以及高级查询语言。 我们还喜欢Cassandra不需要运行其他分布式系统来进行通信。 提供给Cassandra用户的文档质量和丰富的支持渠道也很重要。

为Cassandra设置

在过去的一年中,我们与硬件供应商,运行各种Cassandra部署的运营商进行了交谈,并借鉴了我们自己的经验,找到了可以补充Cassandra工作负载的硬件。 具体来说,我们一直在寻找快速的CPU时钟,具有更长的使用寿命和出色的写入性能的SSD,以及对AWS和其他主要公共云提供商具有单位毫秒级延迟的数据中心。

关注数据而不是数据库

保护卡桑德拉

我们正在编写服务,以支持自动部署在Linux容器中运行的Cassandra节点。 这些容器将映射到专用磁盘,运行最少的进程,并且没有外壳程序访问。 节点之间的通信将使用强大的SSL密码进行加密。 加密通信会增加少量开销,但是通过使用容器并避免在典型的云环境中找到虚拟机监控程序,用户将获得净性能提升。

自动化操作

我们的后端服务主要是用Go编写的,将启用自动配置,日志检索,指标检索以及其他重要功能,例如备份和修复。 这是一项艰巨的任务,但是我们认为,这些常见任务的自动化是成功大规模运行Cassandra的关键。 管理功能,日志消息和指标数据将通过公共API公开,该公共API也将由我们的仪表板使用和呈现。

关注数据而不是数据库

海星仪表板

我们的仪表板是用EmberJS编写的,并在我们的公共API之上提供了漂亮而简单的界面。 我们已经仔细考虑过使用Cassandra创建支持数据库管理员和开发人员常用工作流的视图,例如增加容量和监视。 出现问题时,仪表板可以提出解决方案的建议,也可以让您与我们的一位工程师打开支持请求,该工程师会自动包含指针,以帮助我们快速了解问题。

关于指标和警报

我们正在利用过去繁忙的仪表板和嘈杂的警报系统带来的痛苦经历来创建一项服务,该服务强调针对Cassandra的有意义的指标和可操作的警报。 平均请求等待时间是一个无用的指标。 平均水平可以隐藏许多缓慢的请求和糟糕的用户体验。 对于团队而言,了解其第95、99甚至99.9%的百分位延迟是非常有用的。 提供此数据有助于确保满足SLA。

对于Cassandra来说,另一个有意义的指标是每个执行阶段线程池中被阻止和挂起的任务数。 这些数字告诉我们在Cassandra中何时何地无法完成工作。 压缩性能和磁盘利用率也是提醒操作员注意可能是时候采取行动并为其集群增加容量或重新考虑其压缩策略的关键因素。

加入社区

在我们仍在构建Seastar平台的同时,我们希望与更广泛的社区共享其设计。 我们投入了很多思想并重视反馈。

我们认为Cassandra是一个出色的数据库,拥有出色的社区,我们希望我们的平台将为更大的生态系统做出贡献。 我们希望通过更轻松地开始使用Cassandra来鼓励社区发展。 我们坚信,我们独特的基础架构,软件服务和有才华的团队成员的融合将通过提供一个平易近人,便宜且易于使用的平台来促进社区发展。 如果您有兴趣提供反馈,请给我们发送电子邮件加入我们的Beta计划

翻译自: https://www.javacodegeeks.com/2015/10/focus-on-your-data-rather-than-your-database.html