我刚刚花了一些时间在Crate上进行实验-crate.io-第一印象很好。如果我的理解正确,那么Crate是NoSQL DB,它提供了一个相当简洁的SQL接口(interface)来处理和查询数据库。好的!

但是,在这个阶段,我的问题多于答案。这是三个初学者

  • Crate管理控制台很好。但是,除了设置IP表规则外,如何保护我(如果有的话)?
  • MySQL索引如何转换为Crate。我看不到我可以继续使用UNIQUE索引,然后依靠UPDATE ... ON DUPLICATE KEY ... SQL语句
  • 最后,如果我正确地假设,一旦建立集群,Crate便会负责数据复制和同步,而无需我做任何进一步的工作。因此,如果我在地理位置上分散了Crate群集节点,那么与同步相关的延迟问题是否会减慢整个群集的性能?我正在设想对本地 crate 实例的读/写操作,但可以选择稍后再从另一个 crate 实例中恢复这些数据(同步无关)

  • 这些问题可能无法完全“适合” SO格式,但是鉴于Crate的年龄如何,我希望它们仍然可以被接受。

    最佳答案

    很高兴你喜欢。

    1)Crate中目前没有ACL支持。因此,管理界面以及HTTP端点都是开放的。通常的想法是,Crate运行在专用网络内部,并且不直接暴露于外部。

    有关更多信息,请参见this github issuethis blog post about how to create a read-only nginx proxy

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

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

    3)是,延迟会减慢插入操作的速度。 Multi Zone Setup section in the Documentation中有更多关于此的信息

    关于mysql - 从MySQL迁移到 crate ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28699201/

    10-13 07:37