我有一个交易应用程序,其中销售代表想要输入票证,我必须立即存储它们。我选择ES的原因是因为技术人员可能会输入一些非结构化数据,他们希望以后再搜索。
将数据直接存储在ES而不是RDBMS中是否可以? 我想可能有5-10个用户同时使用这个应用程序。
我已经使用DJango / ES构建了,但只是想确保我以后不会遇到任何问题。
答案 0 :(得分:3)
将数据存储在Elasticsearch而不是传统的关系模型中肯定是“可以的”,但这并不意味着它是正确的选择。您的用例听起来相当简单,并且更多基于该表格的“文档”。为此,NoSQL文档存储可能非常适合。 Elasticsearch还提供分片,可以复制您的数据以获得更高的可用性和弹性 - 例如,如果您担心的一个问题是备份数据。
另一方面,简单地使用一些较长的文本字段并不是在数据库系统(RDBMS或其他)上选择ES的一个强有力的论据,而这些数据库系统是您更熟悉或者对内部支持更多的管理功能。
如果你有真正的非结构化数据 - 即不同的票据可以有不同的字段 - 或者你有大量的票证,这样ES中的全文索引和搜索提供了真正的性能提升,那么它可能是值得的学习曲线。
ES的基本概念页面是一个很好的起点。请参阅Shards& amp;副本。 https://www.elastic.co/guide/en/elasticsearch/reference/current/_basic_concepts.html
这可能也很有用:https://www.elastic.co/blog/found-uses-of-elasticsearch