es和mysql的結構對比

從上表中能夠看出:數據庫

  • MySQL 中的數據庫(DataBase),等價於 ES 中的索引(Index)。
  • MySQL 中一個數據庫下面有 N 張表(Table),等價於1個索引 Index 下面有 N 多類型(Type)。
  • MySQL 中一個數據庫表(Table)下的數據由多行(Row)多列(column,屬性)組成,等價於1個 Type 由多個文檔(Document)和多 Field 組成。
  • MySQL 中定義表結構、設定字段類型等價於 ES 中的 Mapping。舉例說明,在一個關係型數據庫裏面,Schema 定義了表、每一個表的字段,還有表和字段之間的關係。與之對應的,在 ES 中,Mapping 定義索引下的Type的字段處理規則,即索引如何創建、索引類型、是否保存原始索引 JSON 文檔、是否壓縮原始 JSON 文檔、是否須要分詞處理、如何進行分詞處理等。
  • MySQL 中的增 insert、刪 delete、改 update、查 search 操做等價於 ES 中的增 PUT/POST、刪 Delete、改 _update、查 GET。其中的修改指定條件的更新 update 等價於 ES 中的 update_by_query,指定條件的刪除等價於 ES 中的 delete_by_query。
  • MySQL 中的 group by、avg、sum 等函數相似於 ES 中的 Aggregations 的部分特性。
  • MySQL 中的去重 distinct 相似 ES 中的 cardinality 操做。
  • MySQL 中的數據遷移等價於 ES 中的 reindex 操做。
相關文章
相關標籤/搜索