Nosql

幾個引擎案例需要幫助

  • December 14, 2020

我們正在開發一個應用程序,讀取大約 50k RPM,寫入 1k RPM,它通過密鑰詢問並獲取 JSON。搜尋總是按鍵進行的。我傾向於使用一個帶有 Id 欄位的 MySQL 8 表和帶有 innodb 的 JSON 欄位。按索引訪問似乎簡單、便宜且快速。每個索引可以有 n 行(最多 30 行),表的總大小小於 100gb。響應時間很重要,我認為 MySQL 可以達到 2-10 毫秒。我擁有的其他更昂貴的選項是 DynamoDB 和 ElasticSearh(不能使用其他工具)。找不到此案例的比較來幫助我知道我是否走在正確的道路上。您是否看到使用 MySql 的任何缺點或我遺漏了什麼?謝謝!!

因此,除了 ElasticSearch 之外的任何選項都可能適合您(考慮到引擎蓋下的同等硬體)。

ElasticSearch 很可能與您描述的案例相反。它主要用於標記全文(例如解析電子郵件)並有效地搜尋它,您提到您的案例將始終按鍵讀取。

NoSQL 數據庫系統或 DynamoDB 實際上非常適合您的案例,因為您提到了兩件事:始終按鍵讀取,以及以 JSON 格式儲存實際數據,該格式允許半結構化、非結構化和可變的結構化數據。所以這將是我的第一選擇(可能想研究 DynamoDB 與其他 NoSQL 數據庫系統的讀取限制,因為我想我記得根據它的設計方式,它受到了更多限制)。

否則,作為現代 RDBMS,MySQL 也應該能夠處理您的案例,但它並不是真正為您的案例設計的(僅通過密鑰提供數據並將其全部儲存為 JSON 格式)。它是一個關係數據庫系統,因此是為帶有表的規範化模式和這些表之間的關係而設計的。

引用自:https://dba.stackexchange.com/questions/281484