国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Elasticsearch實戰(zhàn)(二十二)---ES數(shù)據(jù)建模與Mysql對比 一對一模型

這篇具有很好參考價值的文章主要介紹了Elasticsearch實戰(zhàn)(二十二)---ES數(shù)據(jù)建模與Mysql對比 一對一模型。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Elasticsearch實戰(zhàn)—ES數(shù)據(jù)建模與Mysql對比實現(xiàn) 一對一模型

我們?nèi)绾伟袽ysql的模型合理的在ES中去實現(xiàn)? 就需要你對要存儲的數(shù)據(jù)足夠的了解,及對應(yīng)用場景足夠的深入分析,才能建立一個合適的模型,便于你后期擴展
實體之間的關(guān)系:

  1. 一對一 模型
    一對一(1:1):一個實體最多只能能另一個實體相關(guān)聯(lián),另一個實體如是。
    例:一個只能有一張身份證。

  2. 一對多 模型
    一對多(1:n): 一個實體可以和別的實體任意關(guān)聯(lián)(他們只能和前面的實體關(guān)聯(lián))
    例:一個班有多名學(xué)生。

  3. 多對多 模型
    多對多:(n:n):一個實體可以和別的實體任意關(guān)聯(lián)(他們也可以和前面的實體任意關(guān)聯(lián))
    例:一個學(xué)生可以選擇多門課程,一門課程對應(yīng)多名學(xué)生。

1.一對一 模型

我們現(xiàn)在有兩個模型, 一個商品Product, 一個屬性 Attribute , 我們對比下一對一模型如何處理 ,一個商品有一個屬性

1.1 Mysql建模

對于一對一的數(shù)據(jù)模型, mysql 可以用2個表 來在Mysql中實現(xiàn) 一對一, 查 produce_id的同時, 再根據(jù) attribute_id屬性id去 關(guān)聯(lián) 查屬性表查出商品和商品屬性的關(guān)系

#關(guān)聯(lián)查詢
select * from product left join addribute on product.product_id = attribute.product_id;

Table :produce 商品表 基本信息

字段 類型
id 唯一主鍵,自增
product_id 商品id
attribute_id 屬性id
product_name 商品名稱
product_price 商品價格

Table :attribute屬性表

字段 類型
id 唯一主鍵,自增
attribute_id 屬性id
product_id 商品id
product_number 商品數(shù)量
product_address 商品產(chǎn)地
product_remark 商品標簽

produce 商品id 字段product_id 的關(guān)聯(lián)屬性id 字段attribute_id 輕易的獲取兩個表的對應(yīng)關(guān)系
既可以通過 produce 商品id 字段 獲取屬性表 attribute_id 的屬性信息
也可以通過 屬性表 attribute_id 查出擁有這些屬性的所有 的商品product_id
這樣我們可以 在Mysql中輕易的實現(xiàn) 兩個表結(jié)構(gòu)的關(guān)聯(lián) 實現(xiàn)1:1的商品及屬性模型

1.2 Index ES 模型

對于ES 這種1:1的 我們應(yīng)該如何查詢, 正常來說 不會用兩個 索引庫去存儲兩份數(shù)據(jù), 我們一般都是采用大寬表去實現(xiàn)這種邏輯,我們會把商品及商品的屬性 公用一個商品Index庫, 通過一個id去關(guān)聯(lián)該商品所有的唯一性信息

  1. 去除掉 attribute_id的 表信息
  2. 把屬性表 所有的這些屬性 全都和商品 product_id綁定在一起
  3. 多字段形成大寬表 去實現(xiàn)1:1 ES模型設(shè)計

為什么要這樣設(shè)計?

  • 方便查詢
  • 沒有任何冗余數(shù)據(jù)
  • 操作簡單, 一次性就能搜索出所有的結(jié)果字段

Table :produce 商品表 基本信息

字段 類型
id 唯一主鍵,自增
product_id 商品id
product_name 商品名稱
product_price 商品價格
product_number 商品數(shù)量
product_address 商品產(chǎn)地
product_remark 商品標簽
xxxx_xxx 商品xxx等

下面創(chuàng)建Index mapping結(jié)構(gòu), 大寬表

{
    "product":{
        "mappings":{
            "_doc":{
                "dynamic":"strict",
                "_all":{
                    "enabled":false
                },
                "properties":{
                    "productId":{
                        "type":"keyword"
                    },
                    "productName":{
                        "type":"text",
                        "analyzer":"ik_max_word"
                    },
                    "productNumber":{
                        "type":"integer"
                    },
                    "productAddress":{
                        "type":"integer"
                    },
                    "productRemark":{
                        "type":"integer"
                    },
                    "xxx":{
                        "type":"keyword"
                    }
                }
            }
        }
    }
}

本文章 分析了 1:1 模型 一個商品Product, 一個屬性 Attribute ,對比了mysql如何處理及ES如何設(shè)置mappings結(jié)構(gòu)

下一篇 我們著重講解下 Mysql的一對多 1:n 模型及 ES的一對多模型如何建立文章來源地址http://www.zghlxwxcb.cn/news/detail-498696.html

到了這里,關(guān)于Elasticsearch實戰(zhàn)(二十二)---ES數(shù)據(jù)建模與Mysql對比 一對一模型的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Redis、Elasticsearch(ES)、RocketMQ和MYSql 持久化對比

    Redis、Elasticsearch(ES)、RocketMQ和MYSql 持久化對比

    在現(xiàn)代大數(shù)據(jù)和分布式系統(tǒng)中,數(shù)據(jù)持久化是一個至關(guān)重要的話題。本文將針對 Redis、Elasticsearch(ES)、?RocketMQ和MYSql 這四種常見的數(shù)據(jù)存儲和消息隊列系統(tǒng)進行持久化方面的對比分析,幫助讀者更好地了解它們各自的特點和適用場景。 ### Redis 1. **特點**: ? ?- 內(nèi)存數(shù)據(jù)庫

    2024年04月10日
    瀏覽(21)
  • ArduinoUNO實戰(zhàn)-第二十二章-紅外遙控實驗

    ArduinoUNO實戰(zhàn)-第二十二章-紅外遙控實驗

    Arduino基礎(chǔ)入門篇25—紅外遙控 Arduino與紅外遙控握手 在日常生活中我們會接觸到各式各樣的遙控器,電視機、空調(diào)、機頂盒等都有專用的遙控器,很多智能手機也在軟硬件上對紅外遙控做了支持,可以集中遙控絕大部分家用電器。 當按下遙控器上某個按鍵,串口輸出該按鍵的

    2024年02月16日
    瀏覽(17)
  • 云原生(二十二) | Kubernetes篇之Ingress案例實戰(zhàn)

    云原生(二十二) | Kubernetes篇之Ingress案例實戰(zhàn)

    文章目錄 Ingress案例實戰(zhàn) 一、基本配置 二、默認后端 三、路徑重寫 四、配置SSL

    2023年04月09日
    瀏覽(16)
  • OpenCV C++案例實戰(zhàn)二十二《手勢識別》

    本文將使用OpenCV C++ 實現(xiàn)手勢識別效果。本案例主要可以分為以下幾個步驟: 1、手部關(guān)鍵點檢測 2、手勢識別 3、效果顯示 接

    2024年02月05日
    瀏覽(19)
  • Elasticsearch實戰(zhàn)-數(shù)據(jù)同步(解決es數(shù)據(jù)增量同步)

    Elasticsearch實戰(zhàn)-數(shù)據(jù)同步(解決es數(shù)據(jù)增量同步)

    之前測試的數(shù)據(jù)都是一次從mysql導(dǎo)入到es,隨著時間的推移,每天都有可能發(fā)生增刪改查,不可能每次都全量同步,所以需要考慮增量同步問題。 缺點: 耦合性高,服務(wù)之間會相互影響 依賴消息隊列的可靠性 啟動:端口8099

    2024年02月11日
    瀏覽(22)
  • ElasticSearch7.3學(xué)習(xí)(二十二)----Text字段排序、Scroll分批查詢場景解析

    ElasticSearch7.3學(xué)習(xí)(二十二)----Text字段排序、Scroll分批查詢場景解析

    場景:數(shù)據(jù)庫中按照某個字段排序,sql只需寫order by 字段名即可,如果es對一個 text field 進行排序,es中無法排序。因為文檔入倒排索引表時,分詞存入,es無法知道此字段的真實值。這樣的結(jié)果往往不準確,因為分詞后是多個單詞,再排序就不是我們想要的結(jié)果了。 通常有兩

    2024年02月08日
    瀏覽(19)
  • 自動化運維(二十二)Ansible實戰(zhàn) 之Jenkins模塊

    Ansible提供了一些模塊,可以用來與Jenkins進行交互,執(zhí)行各種操作,如創(chuàng)建任務(wù)、觸發(fā)構(gòu)建、獲取構(gòu)建結(jié)果等。通過使用這些模塊,我們可以將Jenkins的配置和管理集成到Ansible的自動化流程中。 以下是一些常用的Ansible Jenkins模塊: 1、jenkins_job模塊 jenkins_job模塊用于創(chuàng)建、更新或刪除

    2024年04月16日
    瀏覽(26)
  • 【Elasticsearch】小白實戰(zhàn)!ES使用Reindex遷移數(shù)據(jù)

    【Elasticsearch】小白實戰(zhàn)!ES使用Reindex遷移數(shù)據(jù)

    文章有點長,如果你想認真閱讀,建議到我語雀文檔上觀看,格式友好?-?ES 遷移工作 最近有一個需求是需要我負責(zé)將服務(wù)器A里的 ES 數(shù)據(jù)遷移到服務(wù)器B上,但是由于環(huán)境不通,所以就先在公司的測試環(huán)境和我本地上進行測試,因為之前沒有接觸過 ES 數(shù)據(jù)的遷移,所以上手時

    2024年02月05日
    瀏覽(21)
  • 云計算實戰(zhàn)系列二十二(Python編程I)_pypy 掃描依賴包(1)

    云計算實戰(zhàn)系列二十二(Python編程I)_pypy 掃描依賴包(1)

    先自我介紹一下,小編浙江大學(xué)畢業(yè),去過華為、字節(jié)跳動等大廠,目前阿里P7 深知大多數(shù)程序員,想要提升技能,往往是自己摸索成長,但自己不成體系的自學(xué)效果低效又漫長,而且極易碰到天花板技術(shù)停滯不前! 因此收集整理了一份《2024年最新網(wǎng)絡(luò)安全全套學(xué)習(xí)資料》

    2024年04月22日
    瀏覽(15)
  • DataX實現(xiàn)Mysql與ElasticSearch(ES)數(shù)據(jù)同步

    DataX實現(xiàn)Mysql與ElasticSearch(ES)數(shù)據(jù)同步

    jdk1.8及以上 python2 查看是否安裝成功 查看python版本號,判斷是否安裝成功 在datax/job下,json格式,具體內(nèi)容及主要配置含義如下 mysqlreader為讀取mysql數(shù)據(jù)部分,配置mysql相關(guān)信息 username,password為數(shù)據(jù)庫賬號密碼 querySql:需要查詢數(shù)據(jù)的sql,也可通過colums指定需要查找的字段(

    2024年02月05日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包