2015-02-24 104 views
5

我刚刚花了一些时间来试验Crate - crate.io - 并且第一印象很好。如果我的理解是正确的Crate是一个NoSQL数据库,它提供了一个相当整洁的SQL接口来操作和查询数据库。太好了!从MySQL迁移到Crate

但是,在这个阶段,我有更多的问题,而不是答案。这里有三个首发

  • 箱子管理控制台很好。然而,除了设置IP表规则之外,我可以如何保护它?
  • MySQL索引如何转换为Crate。我没有看到我可以继续使用UNIQUE索引,然后依赖UPDATE ... ON DUPLICATE KEY ... SQL语句
  • 最后,如果我正确地假设一旦设置了集群,Crate就会处理数据复制和同步,我没有进一步的努力。因此,如果我的地理位置不同,Crate集群节点会延迟与同步相关的问题,从而降低整个集群的性能?我正在设想readng /写入本地机箱实例,但可选择在稍后能够从另一个机箱实例恢复这些数据(同步无关)

这些问题可能不完全适合“SO格式,但考虑到年轻的箱子,我希望他们仍然被认为是可以接受的。

回答

4

很高兴喜欢它。

1)Crate中目前没有ACL支持。所以管理界面以及HTTP端点都是打开的。总体思路是,箱子在私人网络中运行,而不是直接暴露在外面。

请参阅this github issuethis blog post about how to create a read-only nginx proxy了解更多信息。

2)箱子不支持UNIQUE约束。 (除了主键,当然这是唯一的)。因此,如果主键已经存在,UPDATE .. ON DUPLICATE KEY将起作用。

其他UNIQUE约束很难做到,因为数据可能驻留在不同的节点上,然后某种确保唯一性的机制非常昂贵。

3)是等待时间会减慢插入操作。还有更多关于Multi Zone Setup section in the Documentation