天天看點

資料庫開發概覽和裝置運作資料庫方案設計

  基于資料庫的應用平台是最常用的平台,比如大家訂票用的網站12306,火車票和訂票使用者資訊都是儲存在資料庫裡。12306第一版本不太好用,也和它的資料庫設計和開發不到位有一定關系。

  資料庫開發有簡單的層次,比如面向一個表實作簡單的增删改查,這些通過SQL開發技術來實作不麻煩。

  資料庫開發中級層次涉及到存儲過程開發和TSQL開發,存儲過程是資料庫系統裡的一類對象,TSQL是存儲過程的開發語言。存儲過程在伺服器端執行多條指令,比在用戶端執行多條指令效率快。

  資料庫進階開發相關的有記憶體資料庫、複雜硬體平台和非關系資料庫,記憶體資料庫支援實時性要求高的環境,複雜硬體平台用于支援資料量特别大情況,非關系資料庫儲存文檔類和圖形類資料,也有其特殊性。

  裝置運作資料方案設計簡單模型

  不超過百萬條資料,配置好表的索引,用時間做主鍵,用戶端查詢時用分頁模式,在sqlserver裡是用top,降低Sql伺服器端查詢負荷,減少讀取時間,盡量避免同時讀寫,在幾十萬條資料時,插入新行時,對索引和行添加處理上會變慢。

  時間,裝置ID,裝置名稱,裝置類型,電壓,電流,電阻。

  每隔10分鐘,包含時間,裝置時間對,30分鐘整點時間肯定有。

  top和參數結合,寫存儲過程。

  存儲過程參數:開始時間,結束時間,分頁起始時間。

  1-10,1-》20

  1-10,2->20

  一個表

  中等模型

  多個表:目前表+曆史表機制,查詢用聯合視圖,寫

賣二手手機号碼平台

資料時特定時間點要不寫隻讓做生成曆史表。

  一個月可能有百萬條資料,伺服器月底把目前運作表重命名為本月名,在重命名時,用戶端用緩沖技術緩沖SQL寫入,不讓實質寫,重命名後再發寫入指令。

  用戶端查詢時可能跨表,要用視圖和UNION處理。盡量用top。在确定要查找全部資料時,不能用TOP。

  對曆史表查詢是沒負擔,不會影響目前表的插入。

  重命名

  下例将表customers重命名為custs

  EXEC sp_rename 'customers','custs'

  大型模型

  高性能伺服器,SQL優化好,支援上億條表記錄情況。伺服器不用低性能的PC伺服器,用小型機。資料庫也換成記憶體資料庫。