我是這個大數據世界的新手。作爲課程項目,我正在研究傳感器網絡,並希望將傳感器數據存儲在HBase上。目前數據存儲在MySQL數據庫中。我試圖將這些數據加載到HBase中。但數據增長如此之快,查詢速度非常緩慢。 這裏是MYSQL表架構:SensorLog(sensorID,userID,時間,日期)。 所以這張表保存了一個傳感器發射日誌。對於每個用戶(總計45個用戶),他的公寓內有25個運動傳感器。每當用戶在他的公寓中移動時,傳感器就會啓動,並且該事件將被記錄到該表中。主要問題是傳感器在特定的時間間隔內爲特定用戶開啓了哪些傳感器。
我想出了三個HBase架構,我只是想問你的意見。在這些模式中,我將時間表示爲一天中的秒數,即0-86400範圍內的整數。如何設計傳感器網絡的HBase模式?
Schema1:Rowkey:Date;列族:時間{cq:(t0-t86400); cv:(userID,sensorID)}
Schema2:Rowkey:(Date,userID);列族:時間{cq:(t0-t86400); cv:(sensorID)}
Schema3:Rowkey:(Date,userID); Column-Family:Time {cq:(s1-s25); cv:(time)}
請您告訴我哪個模式更好更高效嗎? 我很欣賞任何幫助提前。
你在做什麼樣的查詢?獲得? MapReduce的? –
你打算怎麼查詢?你知道你想要什麼特定的事件嗎? –
我們基本上在尋找運動模式。所以目前MySQL查詢正在特定的時間間隔和日期內爲特定用戶查找傳感器。實際上我並不確定在HBase中哪種查詢策略更有效率(地圖縮小或獲取)。任何建議? – eli