最近在 oschina 看到有朋友用 golang 寫了一套 based on HBase 的即時通訊軟體(原設計是 MySQL),而 Qmi 也是基於 HBase 的即時通訊軟體。雖然小編不會寫 golang,但看 code 總還可以的,所以小編當然要來研究一下這個 tim 是如何設計 schema 的。
看起來 rowkey 就是用 HBase 的 increment 指令完成,然後再將 int 轉成 hex 後做為 rowkey。而 family 則有 n 個 (感覺就是欄位名的樣子),然後 family 為 idx 開頭的就是 foreign key。
除了 rowkey 以外,family, qualifier, value 的設計邏輯,更讓小編有點不解 Orz
* 如果 family 是 # 開頭的話 (一般是 # id),則 qualifier 為空,value 為 rowkey 的值
* 如果 family 是 idx_ 開頭,則 family 為 index,qualifier 為欄位的內容 (像是 IndexDomainUsername 的值),value 為空
* 一般欄位則 family 為欄位名稱,qualifier 為空,value 為欄位的內容 (像是 fromuser 的值)
對 HBase 設計比較了解的朋友會知道,rowkey 會影響讀寫的效能,依照 ascii 碼排序,愈分散就愈不會遇到 hotspot,但愈集中一次能取回的資料就愈多,這都是要看 scenario 決定。而 family 與 HFile 成正比,family 愈多,開的檔案愈多,一般建議不超過三個,而這裡一筆 record 就開了十幾個。另外除了 value 以外,naming 要儘量簡短。
看完之後,覺得跟這幾年小編在 HBase 上設計 schema 的原則完全不同啊。不過相信有一部分或許是為了要相容於 RDBMS 的關係,而不得不做的取捨吧 Orz
* https://www.oschina.net/news/78341/tim-1-1-0
* https://github.com/donnie4w/tim/blob/master/tim.hbase/hbaseService.go
* https://github.com/donnie4w/tim/blob/master/tim.hbase/hbasedao.go
* https://github.com/donnie4w/tim/blob/master/doc/hbaseTable.txt
#qmi #tim #hbase #golang
同時也有2部Youtube影片,追蹤數超過12萬的網紅prasertcbs,也在其Youtube影片中提到,script สำหรับสร้างตาราง sales; drop table if exists sales; create table sales ( branch text, dt date, revenue int, primary key (bra...
「mysql int」的推薦目錄:
- 關於mysql int 在 Kewang 的資訊進化論 Facebook 的精選貼文
- 關於mysql int 在 prasertcbs Youtube 的精選貼文
- 關於mysql int 在 吳老師教學部落格 Youtube 的最佳貼文
- 關於mysql int 在 How can I limit INT in MySQL? [duplicate] - Stack Overflow 的評價
- 關於mysql int 在 Int comparison very slow in query - mysql - DBA Stack Exchange 的評價
- 關於mysql int 在 MySQL 8.0.19 Removes the int LENGTH #16138 - GitHub 的評價
- 關於mysql int 在 MySQL 30 - INT Data Type - YouTube 的評價
mysql int 在 prasertcbs Youtube 的精選貼文
script สำหรับสร้างตาราง sales;
drop table if exists sales;
create table sales (
branch text,
dt date,
revenue int,
primary key (branch, dt)
);
insert into sales
select 'bangkok' branch, dt::date, (10000 + random() * 20000)::int revenue
from generate_series('2018-01-01'::date, '2019-12-31'::date, '1 day') dt
UNION
select 'phuket' branch, dt::date, (10000 + random() * 10000)::int revenue
from generate_series('2018-01-01'::date, '2019-12-31'::date, '1 day') dt
order by branch, dt;
ดาวน์โหลด PostgreSQL script ไฟล์ที่ใช้ในคลิปได้ที่ ► http://bit.ly/2mdDVmm
ดาวน์โหลด saturn database (saturn.tar) ได้ที่ ► http://bit.ly/2E2uY7a
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
สอน PostgreSQL ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGi_NqmIu43B-PsxA0wtnyH
สอน MySQL ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFmJDsZipFCrY6L-0RrBYLT
สอน Microsoft SQL Server 2012, 2014, 2016, 2017 ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH8gYuxpp-jqu5Blc7KbQVn
สอน SQLite ► https://www.youtube.com/playlist?list=PLoTScYm9O0GHjYJA4pfG38M5BcrWKf5s2
สอน SQL สำหรับ Data Science ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGq8M6HO8xrpkaRhvEBsQhw
การเชื่อมต่อกับฐานข้อมูล (SQL Server, MySQL, SQLite) ด้วย Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEdZtHwU3t9k3dBAlxYoq59
การใช้ Excel ในการทำงานร่วมกับกับฐานข้อมูล (SQL Server, MySQL, Access) ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGA2sSqNRSXlw0OYuCfDwYk
#prasertcbs_SQL #prasertcbs #prasertcbs_PostgreSQL

mysql int 在 吳老師教學部落格 Youtube 的最佳貼文
康寧護專乙級軟體應用第 4 次上課
應康寧護專彭老師邀請,指導該班乙級軟體應用,
提升該班乙級通過率為目標,讓學生升學加分,
上好學校更有希望,因目前教育部對技職體系的升學方針,
希望降低聯考分數分發比例,提高推甄、技優等名額,
預估目標為 3:7,從原本全部採分發的方式,
慢慢提高推甄名額到 7成,可想而知往後證照所佔的比重會越來越高,
而乙級將是至少最低的門檻,其他再比他類型足資證明技能佐證資料,
而這方面正照算是最明確且最易於取得的客觀標準,
因此近幾年漸吹起考證照風,漸漸影響推甄升學的結果,
尤其是私校尤其積極,甚至一個班取得超千張證照,
雖說除了乙丙以外的證照沒有明定加分標準,
但目前書審資料要能豐富,證照算是一種最快速簡便的方式,
此外,除了張數外,質量也非常重要,
若考取的都是OFFICE類證照,如MOS、TQC等,似乎與乙、丙級的軟體應用重複,
考了也只能說你比較認真,比別人更積極證明自己的專業,
建議往高階考,如OFFICE 2007或2010證照,
或是PHTOOSHOP、DREAMWEAVER、FLASH、VB6、VB2008、ASP或JAVA等,
但以上準備期長,且不易取得,建議可以多花時間先準備只考學科的證照考試,
如WM6、IM7、專案管理概論、HTML、MYSQL、LINUX系統管理、LINUX網路管理等,
以上都只考單複選題的題庫,只要將提庫背熟,要通過就不難。
其實,足以證明你專業的證照,對升學有更大的的幫助,
吳老師本身於民國九十二年報考並通過考試,取得証照,因此深知考試流程中應特別注意事項,
分析題目之重點,使讀者易於理解問題重點,並將各題組以說故事的方式敘述,
減少自學所耗費時間。
解答以最精簡為原則,避免複雜易錯的解題方式。
並配合生活化的解說,免除必須死記的痛苦;此外更可活用於職埸。
解題方式以學習者為中心,為吳老師之多年教學菁華,以最淺顯易懂的方式呈現。
解答以Excel為主,Access為輔:由於Excel在運用較廣與操作介面較Access易於上手,
因此教學上以Excel 解法為主。
康寧護專,技優,推甄,乙級軟體應用,電腦證照考試,吳老師,吳清輝老師,書審資料,TQC

mysql int 在 Int comparison very slow in query - mysql - DBA Stack Exchange 的推薦與評價
First, a query or (update) statement with a condition like WHERE posts < comments that compares 2 columns cannot effectively use your ... ... <看更多>
mysql int 在 MySQL 8.0.19 Removes the int LENGTH #16138 - GitHub 的推薦與評價
Expected +++ Actual @@ @@ -'int(11)' +'int' Using docker image Ref: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0... ... <看更多>
mysql int 在 How can I limit INT in MySQL? [duplicate] - Stack Overflow 的推薦與評價
... <看更多>