Cho*_*ate 31 database nosql coreos etcd kubernetes
可以将etcd用作可靠的数据库替代品吗?由于它是以持久方式分发和存储键/值对,因此它将是一个很好的替代nosql数据库.此外,它有一个很棒的API.有人可以解释为什么这不是一件事吗?
Lak*_*kar 42
ETCD
nosql数据库
目前有超过255个 nosql数据库,可以大致分为基于键值,基于列,基于文档和基于图形.将etcd视为键值存储,让我们看一下可用的nosql键值数据存储.
Redis,memcached和memcacheDB是流行的键值存储.这些是通用分布式内存缓存系统,通常用于通过在内存中缓存数据和对象来加速动态数据库驱动的网站.
为什么etcd不是替代品
etcd不能存储在内存中(ram)它们只能保存在磁盘存储中,而redis可以缓存在ram中,也可以保存在磁盘中.
etcd没有各种数据类型.它只用于存储kubernetes对象.但redis和其他键值存储具有数据类型的灵活性.
etcd保证只有很高的可用性,但不会给你快速的查询和索引.所有nosql键值存储都是以快速查询和搜索为目标构建的.
虽然很明显etcd不能用作替代的nosql数据库,但我认为上面的解释将证明它不是一个合适的替代品.
小智 9
从ETCD.IO
网站:
etcd 是一个高度一致的分布式键值存储,它提供了一种可靠的方式来存储需要由分布式系统或机器集群访问的数据。它可以在网络分区期间优雅地处理领导者选举,并且可以容忍机器故障,即使是在领导节点中也是如此。
它有一个使用 http 和 json 的简单界面。它不仅仅适用于 Kubernetes。Kubernetes 只是使用它的关键应用程序的一个示例。
你说得对,这应该是一件事。一个很好的可靠的数据存储,具有易于使用的 API,以及使用 raft 协议在事情发生变化时告诉您的好方法。这对于功能切换和其他需要了解所有内容的项目来说非常有用,并且比在 SQL 数据库中放置触发器并让它向外部应用程序发送事件或非常糟糕的轮询之类的事情要好得多。
因此,如果您正在编写类似 kubernetes 用例 >> 的内容,那么它对于分布式应用程序来说是一个经过充分验证的完美存储。
如果您正在编写与 kubernetes 用例非常不同的东西,那么您正在与所有其他 no-sql 数据库进行比较。但与 mongodb 之类的东西有很大不同,所以如果 mongodb 或类似的东西不适合你,它可能对你更好。
其他示例用户
M3是Uber创建的Prometheus大规模指标平台,使用etcd进行规则存储等功能
一致性 Jepson 在https://jepsen.io/analysiss上对 NOSQL 数据库一致性进行了很好的比较
ETCD 在https://etcd.io/blog/jepsen-343-results/上总结了他们的结果
归档时间: |
|
查看次数: |
12372 次 |
最近记录: |