Hbase資料庫各需求解決方案優化

2021-09-12 01:18:08 字數 1051 閱讀 6404

抖音hbase庫表設計

1.需求

①如何檢視某紅人的粉絲

②如何檢視某紅人的粉絲數

③如何確定此粉絲是某紅人的嗎

④某紅人的粉絲是否關注了此紅人

⑤有多少粉絲和此粉絲關注的紅人數及紅人一樣

解決方案

①將紅人的姓名作為rowkey,列限定符為自增張,粉絲的姓名作為key,遍歷此rowkey可以得到,但效能極低不合適

②將紅人的姓名作為rowkey,列限定符為自增張,粉絲的姓名作為key,在表中維護乙個count計數器可以統計當前的粉絲數,當插入時只需得知計數器為多少即可在後面插入,但是相對來說查詢粉絲姓名則相當麻煩,因為客戶端傳過來的是粉絲姓名不是關注此紅人的次序號,所以導致查詢只能按照姓名搜尋 scan遍歷性能極低,且在取消關注此紅人時也需要scan遍歷才可得知

③將紅人的姓名作為rowkey,粉絲姓名作為列限定符,值為1,如果關注則增加列限定符,取關則減一,相對來說好一些吧

④將粉絲姓名+紅人姓名結合做rowkey,列限定符為紅人的姓名,值為1,這樣可以更塊的搜尋查詢且關注取關也非常方便

⑤將md5碼+粉絲的姓名+md5碼+紅人的姓名當做rowkeykey,列限定符為紅人的姓名,值為粉絲的姓名。(md5來散裂化rowkey可以提高效能)

資料庫亂碼解決方案

oracle 資料庫亂碼解決方案 你插入資料的時候,用 轉變字串的亂碼函式 param str return public string getstr string str catch exception e 向bean裡面賦值 public void setaction string action...

資料庫死鎖解決方案

一 活鎖 如果事務t1封鎖了資料r,事務t2又請求封鎖r,於是t2等待。t3也請求封鎖r,當t1釋放了r上的封鎖之後系統首先批准了t3的請求,t2仍然等待。然後t4又請求封鎖r,當t3釋放了r上的封鎖之後系統又批准了t4的請求,t2有可能永遠等待,這就是活鎖的情形。避免活鎖的簡單方法是採用先來先服務...

資料庫亂碼解決方案

mysql會出現中文亂碼的原因不外乎下列幾點 1.server本身設定問題,例如還停留在latin1 2.table的語系設定問題 包含character與collation 3.客戶端程式 例如php 的連線語系設定問題 強烈建議使用utf8 utf8可以相容世界上所有字元 一 避免建立資料庫及表...