[Spring cloud 一步步实现广告系统] 12. 广告索引介绍
索引設計介紹
在我們廣告系統中,為了我們能更快的拿到我們想要的廣告數據,我們需要對廣告數據添加類似于數據庫index一樣的索引結構,分兩大類:正向索引和倒排索引。
正向索引
通過唯一鍵/主鍵生成與對象的映射關系。
比如,我們從數據庫中查詢數據的時候,根據數據主鍵ID查詢當前記錄,其實就是一個正向索引的過程。
根據這個描述,很明顯,我們的正向索引適用于推廣計劃,推廣單元 和 創意這幾張表的數據上,因為廣告檢索的請求信息,不可能是請求具體的計劃或推廣單元,它的檢索請求一定是限制條件。
倒排索引
也叫反向索引,是一種檢索方法。它的設計是為了存儲在全文檢索下某個單詞在一個文檔貨一組文檔中存儲位置的映射,是在文件檢索系統中最常用的數據結構。
也就是我們提供具體的內容實例,根據內容來查詢該內容所處的位置。
如何在廣告系統中使用倒排索引?
核心用途是對各個維度 限制的整理。
如圖中所示,我們希望找到西安市的所有的推廣單元信息,那么我們只需要根據陜西省-西安市來進行索引,可以快速定位到所在的推廣單元有10,11兩個。
索引維護介紹
索引的維護最主要的是為了保證檢索服務中的索引是完整的,我們在維護索引數據的時候,有兩種場景會帶來廣告數據。在系統啟動之初,會有一部分初始化數據,在系統上線運行之后,會逐漸有不少新的廣告信息加入。因此,我們的廣告索引類型整體可以分為兩大類:
全量索引
檢索系統在每次啟動的時候,需要一次性讀取當前數據庫中的所有數據,建立索引。
TIPS:(這里有一個問題,如果我們系統流量高的時候,需要部署多實例,每一個實例在系統啟動的時候,都直接從數據庫中加載全量索引,會對數據庫造成極大的壓力。)
因此,通常我們實現全量索引都是通過讀取文件中預先存儲的廣告數據來實現全量索引導入。
增量索引
顧名思義就是后來新增的數據索引。系統在運行過程中,會對數據庫的變動進行監控,實現加載更新,構建索引,我們系統中通過對數據庫表的CRUD操作的變動,通過監聽Binlog來實現增量索引的更新。
轉載于:https://www.cnblogs.com/zhangpan1244/p/11312076.html
總結
以上是生活随笔為你收集整理的[Spring cloud 一步步实现广告系统] 12. 广告索引介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JVM内存区域划分总结
- 下一篇: php 操作 redis 常用命令