【问题标题】:Always being available, any thoughts?随时可用,有什么想法吗?
【发布时间】:2016-08-05 22:58:23
【问题描述】:

我为一家想要扩展现有系统的小公司工作,但这样做也存在一些问题。 系统本身用于存储图像和视频。

随时可用

所以我们与我们的主持人交谈,他们建议我们使用 Ceph 和 Cassandra。现在我对它们都做了一些研究,我真的很喜欢 Ceph 的想法——但是 Cassandra.. 好吧,现有系统需要一段时间才能适应它。

他们推荐 Cassandra 的原因是我们的数据库始终可用。现在 - DB 不会大量增加,它只会用于保存一些用户信息、图像标签和其他小的元数据。

另一个问题是许多查询使用"like" 来查找标签。 CQL 不支持这个。

现在我们没有任何了解 Cassandra 的开发人员,因此可能需要一些时间来适应这一点。

我的问题

  • Cassandra 是否有替代方案,首选关系数据库(所以不是 NoSQL) 它仍然具有高可用性(例如当一台服务器出现故障时, 另一个接管)。
  • 如果没有 - 相对缺乏经验的开发人员(大约 1 年的经验)需要多长时间才能习惯 Cassandra 的查询语言,包括如何使系统适应它的知识。
  • 以防万一我没有做好我的研究,Cassandra 甚至是我们正在寻找的系统,数据库几乎只用于存储和一些小功能。
  • 如果您推荐 NoSQL 语言,我还有哪些搜索和查找数据的其他选项(就像我们现在使用“..where x like 'something'”一样)

【问题讨论】:

  • create table tags (tagid, videoid, tagstring) 现在你不必使用like :D
  • 使用 Cassandra,我不相信您可以搜索非键或索引,还是我可能误读了?
  • 我对 Cassandra 一无所知,但如果数据库不支持非唯一键,我会感到非常惊讶。在videoid 上放一个索引,你应该设置好了。
  • 由于您使用的是 PHP 和某种关系数据库,因此沿着不断变化的技术路线走下去,学习它的怪癖、它的语言等等没有多大意义。最好的方法是利用你已经知道的,然后研究你是否可以扩展它(你可以,这样做实际上很简单,NoSQLs 在后台使用这种方法)。
  • 当然,但是说扩展任何数据库都很简单是没有意义的......

标签: php sql cassandra high-availability ceph


【解决方案1】:

另一个问题是许多查询使用“like”来查找标签。 CQL 不支持这个。

确实如此,因为带有 SASI secondary index

的 Cassandra 3.5

现在我们没有任何了解 Cassandra 的开发人员,因此可能需要一些时间来适应这一点。

没问题,您可以通过 Datastax Academy

获得数小时的免费在线视频和培训

如果没有 - 相对缺乏经验的开发人员(大约 1 年的经验)需要多长时间才能习惯 Cassandra 的查询语言,包括如何使系统适应它的专业知识。

只需观看数据建模视频,您应该可以快速掌握 Cassandra 数据模型背后的基本思想。

以防万一我没有正确地进行研究,Cassandra 甚至是我们正在寻找的系统,数据库几乎仅用于存储和一些小功能。

如果您正在寻找极高的可用性(0 停机时间)Cassandra 适合您。

如果您可以处理几 分钟 的停机时间,那么还有其他系统也很适合。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-25
    • 2021-08-27
    • 1970-01-01
    • 2023-03-18
    • 2013-05-15
    • 2012-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多