當前位置:首頁 » 操作系統 » 資料庫隨機寫

資料庫隨機寫

發布時間: 2023-11-08 00:20:47

❶ 在mysql 資料庫如何添加隨機數字

在mysql中隨機生成一些范圍內的整數,可以藉助mysql提供的二個函數來實現。
它們是floor()與rand()函數,下面分別介紹下。
1、floor(f)
返回一個不大於f的最大整數
2、rand(),rand(n)
返回一個隨機浮點值 v ,范圍在 0 到1 之間 (即, 其范圍為 0 ≤ v ≤ 1.0)。若已指定一個整數參數 N ,則它被用作種子值,用來產生重復序列。

若要在i ≤ R ≤ j 這個范圍得到一個隨機整數R ,需要用到表達式 FLOOR(i + RAND() * (j – i + 1))。
例如, 在7到 12 的范圍(包括7和12)內得到一個隨機整數,使用語句:
SELECT FLOOR(7 + (RAND() * 6));

❷ hbase是如何做到並發寫的和隨機寫的

閱讀數:9381
Hbase概述
hbase是一個構建在HDFS上的分布式列存儲系統。HBase是Apache Hadoop生態系統中的重要 一員,主要用於海量結構化數據存儲。從邏輯上講,HBase將數據按照表、行和列進行存儲。

如圖所示,Hbase構建在HDFS之上,hadoop之下。其內部管理的文件全部存儲在HDFS中。與HDFS相比兩者都具有良好的容錯性和擴展性,都可以 擴展到成百上千個節點。但HDFS適合批處理場景,不支持數據隨機查找,不適合增量數據處理且不支持數據更新。

Hbase是列存儲的非關系資料庫。傳統資料庫MySQL等,數據是按行存儲的。其沒有索引的查詢將消耗大量I/O 並且建立索引和物化視圖需要花費大量時間和資源。因此,為了滿足面向查詢的需求,資料庫必須被大量膨脹才能滿 足性能要求。
Hbase數據是按列存儲-每一列單獨存放。列存儲的優點是數據即是索引。訪問查詢涉及的列-大量降低系統I/O 。並且每一列由一個線索來處理,可以實現查詢的並發處理。基於Hbase數據類型一致性,可以實現資料庫的高效壓縮
HBase數據模型

HBase是基於Google BigTable模型開發的, 典型的key/value系統。一個Row key對應很多Column Family,Column Family中有很多Column。其中,保存了不同時間戳的數據。

如圖所示,Rowkey cutting對應列簇info和roles。其中,info中有key-value對hight-9ft,state-CA。更清晰的結構如下圖所:
Hbase的所有操作均是基於rowkey的。支持CRUD(Create、Read、Update和Delete)和 Scan操作。 包括單行操作Put 、Get、Scan。多行操作包括Scan和MultiPut。但沒有內置join操作,可使用MapRece解決。

HBase物理模型

Hbase的Table中的所有行都按照row key的字典序排列。Table 在行的方向上分割為多個Region。、Region按大小分割的,每個表開始只有一個region,隨 著數據增多,region不斷增大,當增大到一個閥值的時候, region就會等分會兩個新的region,之後會有越來越多的 region。
Region是HBase中分布式存儲和負載均衡的最小單元。 不同Region分布到不同RegionServer上。

Region雖然是分布式存儲的最小單元,但並不是存儲 的最小單元。Region由一個或者多個Store組成,每個store保存一個 columns family。每個Strore又由一個memStore和0至多個StoreFile組成。memStore存儲在內存中,StoreFile存儲在HDFS上。
HBase基本架構

HBase構建在HDFS之上,其組件包括 Client、zookeeper、HDFS、Hmaster以及HRegionServer。Client包含訪問HBase的介面,並維護cache來加快對HBase的訪問。Zookeeper用來保證任何時候,集群中只有一個master,存貯所有Region的定址入口以及實時監控Region server的上線和下線信息。並實時通知給Master存儲HBase的schema和table元數據。HMaster負責為Region server分配region和Region server的負載均衡。如果發現失效的Region server並重新分配其上的region。同時,管理用戶對table的增刪改查操作。Region Server 負責維護region,處理對這些region的IO請求並且切分在運行過程中變得過大的region。

HBase 依賴ZooKeeper,默認情況下,HBase 管理ZooKeeper 實例。比如, 啟動或者停止ZooKeeper。Master與RegionServers 啟動時會向ZooKeeper注冊。因此,Zookeeper的引入使得 Master不再是單點故障。

Client每次寫資料庫之前,都會首先血Hlog日誌。記錄寫操作。如果不做日誌記錄,一旦發生故障,操作將不可恢復。HMaster一旦故障,Zookeeper將重新選擇一個新的Master 。無Master過程中,數據讀取仍照常進行。但是,無master過程中,region切分、負載均衡等無法進行。RegionServer出現故障的處理原理是定時向Zookeeper匯報心跳,如果一旦時 間內未出現心跳HMaster將該RegionServer上的Region重新分配到其他RegionServer上。失效伺服器上「預寫」日誌由主伺服器進行分割並派送給新的 RegionServer 。Zookeeper是一個可靠地服務,一般配置3或5個Zookeeper實例。
尋找RegionServer定位的順序是ZooKeeper --ROOT-(單Region) -.META. -用戶表 。如上圖所示。-ROOT- 表包含.META.表所在的region列表,該表只會有一 個Region。 Zookeeper中記錄了-ROOT-表的location。 .META. 表包含所有的用戶空間region列表,以及 RegionServer的伺服器地址
HBase應用舉例

Hbase適合需對數據進行隨機讀操作或者隨機寫操作、大數據上高並發操作,比如每秒對PB級數據進行上千次操作以及讀寫訪問均是非常簡單的操作。
淘寶指數是Hbase在淘寶的一個典型應用。交易歷史紀錄查詢很適合用Hbase作為底層資料庫。

❸ 誰知道資料庫中怎樣產生隨機數

公式:(上限-下限+1)* rand() -下限

介紹:John von Neumann說:Any one who considers arithmetical methods of procing random digits is , of course, in a state of sin.

所以,在討論演算法實現隨機數的時候,總是說「偽隨機數」。

現在,應用最廣的隨機數生成演算法是由Derrick Henry Lehmer1951年給出的線性同餘法:

Xn+1 = ( aXn + c ) mod m, n>=0.

在上一篇偽隨機數的論述中,並沒有給出X0, a, c, m的取值規則,只是給出了ANSI C和Microsoft Visual C++的實現。

在這兒我們可以自己先思考一下,我們期望從上式中得到的隨機數應該滿足:

1) 上式的輸出足夠隨機,這是最基本的要求;

2) 上式給出盡量多的輸出,越接近m個越好(不可能超過m),即周期盡量長,最好為m,這樣才能保證上式滿足均勻分布(m個數在周期m中各出現一次);

3) 上式的生成速度足夠快。

最容易想到的,m的取值為計算機字大小(如2^32或2^64)。

但是這兒有個很嚴重的問題:Xn低位的隨機性很弱。原因如下:

令d|m, 且

Yn = Xn mod d



Yn+1 = ( ( aXn + c ) mod m ) mod d

= ( aYn + c ) mod d

上述表達式的意義即:Yn為Xn低k位(d=2^k),這樣的Yn序列形成周期為d甚至更短的同餘序列。舉例說明:d為2^1時,Yn為Xn的最低位(可假定為1或0),若Yn+1 != Yn,則Yn+2 == Yn必定成立,僅當a、c皆為奇數時Yn、Yn+1將0、1交替,否則,為常數(0或1)。

暫時拋開隨機性不管,先找到周期為m的隨機序列中的取值規則。

Donald Knuth在The Art of Computer Programming, Volume 2: Seminumerical Algorithms中的3.2.1.2節對m, a, c和X0取值規則的表述:

1) gcd(c, m) = 1. 即c, m互素,再白一點,c, m除1之外沒有其他公因子;

2) 任給質數p, p|m ==> p|(a-1). 即m%p==0,則(a-1)%p==0。

3) 4|m ==> 4|(a-1). 即m%4==0,則(a-1)%4==0。

這個證明過程對於我這樣的數論基礎不是很扎實的搞應用技術的人來說有點難以理解了。有興趣的話,還是去看3.2.1.2的證明吧:-)。

上面的規則告訴我們,滿足了上述規則後,可以保證序列周期為m。對於前面提到的關於隨機性的問題,既然Xn低位的隨機性比較弱,可以只取Xn的高位作為輸出。高位的隨機性和統計意義由a, c確定,其取值涉及統計檢驗,具體的也還是看3.3吧。

這篇文章解決了具有統計意義的隨機數的部分理論問題。

PS: 之前曾經BS過Windows Live Writer,當時覺得Writer編輯功能太少,不能直接設定鏈接文字的字體顏色,知道CSS可以設定之後,又覺得Word 2007編輯的Blog轉成html之後太大,而且也知道Word 2007上面是可以設置鏈接的target為_blank的。現在發現Writer還是很不錯的了,原來是可以設定格式的,也可以直接編輯html,而且可以Web預覽,鏈接還可以加入到鏈接詞彙表,挺方便的。

熱點內容
nas無盤伺服器搭建教程 發布:2024-11-30 10:27:07 瀏覽:155
觸摸精靈腳本解密 發布:2024-11-30 10:27:04 瀏覽:327
如何解鎖密碼鎖上的密碼用數字解 發布:2024-11-30 10:07:55 瀏覽:453
文件夾選項怎麼找 發布:2024-11-30 10:05:50 瀏覽:377
安卓手機界面下面返回鍵怎麼設置 發布:2024-11-30 09:59:12 瀏覽:64
名ftp是 發布:2024-11-30 09:59:12 瀏覽:293
用戶上傳伴奏 發布:2024-11-30 09:35:33 瀏覽:263
sql伺服器配置失敗 發布:2024-11-30 09:35:21 瀏覽:910
php從傳智播客 發布:2024-11-30 09:33:47 瀏覽:965
硬碟錄像機外接存儲伺服器 發布:2024-11-30 09:27:18 瀏覽:993