2016-11-16 17 views
1

从我所了解到的Datomic的list of supported storage systems看来,以下内容可能都是自托管,并且是分布式datomic的自主,分布式存储选项的比较?

  • 卡桑德拉
  • 了Riak
  • Couchbase
  • Infinispan的内存簇

对于人谁不知道大多数的这些,什么是他们的差异,当谈到正在使用仅适用于Datomic。 Datomic不太关心存储系统的各项功能,因为它们仅用作“哑”键/值存储。

那么,什么是重要的是我是

  • 易于安装
  • 易于维护
  • 性能

特别是在“易于安装”条款有可能显著差异,根据Datomic页面,其中一些需要ZooKeeper集群,一个需要至少3个节点才能运行等。

回答赞赏,即使他们没有涵盖所有提到的存储选项。

回答

0

如果您正在寻找便捷的设置,普通的SQL数据库可能是一个不错的选择。 Datomic可以使用大多数流行的SQL数据库作为存储(使用来自JVM的JDBC),因此可以使用MySQL,PostgreSQL等。这些广泛可用,并且通常易于在大多数设置中安装和运行。

表现明智,我没有太多的经验分享,只是我的想法。在我看来,主要的瓶颈可能是Datomic本身,因为它将事务写入存储在单个线程中。我无法想象使用5服务器Riak集群将比SQL服务器快得多。在读取方面,Datomic支持在存储和对等设备之间使用memcached,因此读取和写入的差异最小。

自托管存储用于开发/测试/登台设置。在内部,它直接在交易者中使用SQL接口和H2。 H2被认为是稳定的,但是当服务器意外重新启动时,我的H2 db在测试/分级中损坏,所以我不会推荐它用于生产。

+0

我要求*分布式*存储系统专门为一个,因为我希望它在面对机器故障时有弹性。这当然可以在大多数SQL数据库系统中完成,但这并不容易建立和维护。另一个优点是可以轻松扩展分布式系统,从而提高读取性能(对于未由Datomic对等缓存的数据)。就“自托管”而言,我的意思不是“正在进行”,而是托管在内部,与DynamoDB等基于云的系统相比。 –

1

我同意8月份的建议。

我还会补充说,如果自托管不是一个硬性要求,那么使用DynamoDB在AWS上设置Datomic通常是最快的路径。

-M