ES數據架構的主要概念(與關系數據庫Mysql對比)
| MySQL | ElasticSearch |
| Database | Index |
| Table | Type |
| Row | Document |
| Column | Field |
| Schema | Mapping |
| Index | Everything is indexed |
| SQL | Query DSL |
| select * from ... | Get http://... |
| update table set ... | Post http://... |
(1)關系型數據庫中的數據庫(DataBase),等價於ES中的索引(Index)
(2)一個數據庫下面有N張表(Table),等價於1個索引 Index下面有N多類型(Type),
(3)一個數據庫表(Table)下的數據由多行(ROW)多列(column,屬性)組成,等價於1個Type由多個文檔(Document)和多Field組成。
(4)在一個關系型數據庫里面,schema定義了表、每個表的字段,還有表和字段之間的關系。 與之對應的,在ES中:Mapping定義索引下的Type的字段處理規則,即索引如何建立、索引類型、是否保存原始索引JSON文檔、是否壓縮原始JSON文檔、是否需要分詞處理、如何進行分詞處理等。
(5)在數據庫中的增insert、刪delete、改update、查search操作等價於ES中的增PUT、刪Delete、改POST、查GET.
共同學習,共同進步,若有補充,歡迎指出,謝謝!
