因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作

时间:2022-09-05 08:06:32

因為資料庫資料筆數太大(>兩千萬筆),
用一部電腦作query所耗的時間相當長,
如果想用MPI(五部pc)來實作message passing,
以一部主電腦將query分給這五部SLAVE電腦作,
之後將結果回傳給MASTER主電腦。

目前可以採行的系統架構和實作方法是?
可以選用的資料庫?

新手..請指教..
guest
張貼於: 2001/11/14 13:08
會員五級
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
註冊日: 2006/12/25
來自:
張貼數: 1097
Re:以MPI來實作Database Query的load balancing?
:▼ 引述《 Newbie 》的文章 :
:因為資料庫資料筆數太大(>兩千萬筆),
:用一部電腦作query所耗的時間相當長,
:如果想用MPI(五部pc)來實作message passing,
:以一部主電腦將query分給這五部SLAVE電腦作,
:之後將結果回傳給MASTER主電腦。
:
:目前可以採行的系統架構和實作方法是?
:可以選用的資料庫?
:
:新手..請指教..

Oracel有個OEM的東東不知合不合用,
它還可以把data存到異地,像是異地備援那種,
它的主電腦好像還可以好幾台!
不知道這合不合用...

另外,這可能也跟AP有點關係,
你的一些資料處理是寫在自己的程式內,
還是全部丟給DB Server處理,
效果會有一些差異哦!
yjs
張貼於: 2001/11/15 17:04
會員一級
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
註冊日: 2006/12/25
來自:
張貼數: 69
Re:以MPI來實作Database Query的load balancing?
:▼ 引述《 Duncan 》的文章 :
::▼ 引述《 Newbie 》的文章 :
::因為資料庫資料筆數太大(>兩千萬筆),
::用一部電腦作query所耗的時間相當長,
::如果想用MPI(五部pc)來實作message passing,
::以一部主電腦將query分給這五部SLAVE電腦作,
::之後將結果回傳給MASTER主電腦。
::
::目前可以採行的系統架構和實作方法是?
::可以選用的資料庫?
::
::新手..請指教..
:
:Oracel有個OEM的東東不知合不合用,
:它還可以把data存到異地,像是異地備援那種,
:它的主電腦好像還可以好幾台!
:不知道這合不合用...
:
:另外,這可能也跟AP有點關係,
:你的一些資料處理是寫在自己的程式內,
:還是全部丟給DB Server處理,
:效果會有一些差異哦!
直接用mpi實作就好了
我的質數程式就是這麼作
yjs
張貼於: 2001/11/15 17:04
會員一級
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
註冊日: 2006/12/25
來自:
張貼數: 69
Re:以MPI來實作Database Query的load balancing?
:▼ 引述《 Duncan 》的文章 :
::▼ 引述《 Newbie 》的文章 :
::因為資料庫資料筆數太大(>兩千萬筆),
::用一部電腦作query所耗的時間相當長,
::如果想用MPI(五部pc)來實作message passing,
::以一部主電腦將query分給這五部SLAVE電腦作,
::之後將結果回傳給MASTER主電腦。
::
::目前可以採行的系統架構和實作方法是?
::可以選用的資料庫?
::
::新手..請指教..
:
:Oracel有個OEM的東東不知合不合用,
:它還可以把data存到異地,像是異地備援那種,
:它的主電腦好像還可以好幾台!
:不知道這合不合用...
:
:另外,這可能也跟AP有點關係,
:你的一些資料處理是寫在自己的程式內,
:還是全部丟給DB Server處理,
:效果會有一些差異哦!
直接用mpi實作就好了
我的質數程式就是這麼作
guest
張貼於: 2001/11/15 23:38
會員五級
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
註冊日: 2006/12/25
來自:
張貼數: 1097
Re:以MPI來實作Database Query的load balancing?
詳細解釋一下目前的狀況好了:

目前有一部A電腦,
資料庫中有2000萬筆病人的病歷資料,
現在想作一個查詢,
select "阿斯批靈" from 病歷資料table。

因為資料筆數太多,
想透過MPI將Query分給五部slave電腦作,
然後再將結果傳回master電腦。

在下對於MPI約莫有粗淺瞭解,
但是對於MPI如何與Database及應用程式開發作結合,
還不是非常能夠掌握。

想請問諸位,
若有類似專案的開發經驗,
你們如何選擇programming tool以及適合的database?
MPI與你們所選擇的programming tool及database如何bridge?

謝謝.


:▼ 引述《 yjs 》的文章 :
::▼ 引述《 Duncan 》的文章 :
::
::Oracel有個OEM的東東不知合不合用,
::它還可以把data存到異地,像是異地備援那種,
::它的主電腦好像還可以好幾台!
::不知道這合不合用...
::
::另外,這可能也跟AP有點關係,
::你的一些資料處理是寫在自己的程式內,
::還是全部丟給DB Server處理,
::效果會有一些差異哦!
:直接用mpi實作就好了
:我的質數程式就是這麼作
:
yjs
張貼於: 2001/11/16 11:34
會員一級
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
註冊日: 2006/12/25
來自:
張貼數: 69
Re:以MPI來實作Database Query的load balancing?
:▼ 引述《 Newbie_diane 》的文章 :
:詳細解釋一下目前的狀況好了:
:目前有一部A電腦,
:資料庫中有2000萬筆病人的病歷資料,
:現在想作一個查詢,
:select "阿斯批靈" from 病歷資料table。
:因為資料筆數太多,
:想透過MPI將Query分給五部slave電腦作,
:然後再將結果傳回master電腦。
有data base的原始程式嗎
或是直接告訴我一些詳細資料
病歷資料怎麼存的
說不定我可以幫你代工 修改data base或是
從0做起 當然只有可執行檔
kchuang
張貼於: 2001/11/16 17:03
會員一級
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
註冊日: 2006/12/25
來自:
張貼數: 355
Re:以MPI來實作Database Query的load balancing?
:▼ 引述《 Newbie_diane 》的文章 :
:詳細解釋一下目前的狀況好了:
:
:目前有一部A電腦,
:資料庫中有2000萬筆病人的病歷資料,
:現在想作一個查詢,
:select "阿斯批靈" from 病歷資料table。
:
:因為資料筆數太多,
:想透過MPI將Query分給五部slave電腦作,
:然後再將結果傳回master電腦。
:
:在下對於MPI約莫有粗淺瞭解,
:但是對於MPI如何與Database及應用程式開發作結合,
:還不是非常能夠掌握。
:
:想請問諸位,
:若有類似專案的開發經驗,
:你們如何選擇programming tool以及適合的database?
:MPI與你們所選擇的programming tool及database如何bridge?

可能不需要用到 MPI, 你可以在 5 台電腦上, 各灌一份
database, 各存 1/5 的資料(400萬筆), 然後在另一台電腦上
用 multithread 的方式同時下5個 query 分別給這5台databases
(現在大部分的 database 應該都有 support query remote
database 的 API, 這樣就不用 MPI 來傳資料了),這樣應該就
能滿足你的需求了, 不過這只適合用在以query 為主的
應用上,若你需要做 update, 就更複雜了
duncan
張貼於: 2001/11/20 9:30
會員一級
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
註冊日: 2006/12/25
來自:
張貼數: 69
Re:以MPI來實作Database Query的load balancing?
::因為資料筆數太多,
::想透過MPI將Query分給五部slave電腦作,
^^^^^^^^^^^^^^^^^^
::然後再將結果傳回master電腦。

你的工作應主要是Database Query,
這計算及處理的動作應該是由DB Server本身作吧!
一般像這種Database Query不是
用分散式計算,像Turbo Linux Enfuzion,
最少我知道有些證券股市金融是這樣作的!


:可能不需要用到 MPI, 你可以在 5 台電腦上, 各灌一份
:database, 各存 1/5 的資料(400萬筆), 然後在另一台電腦上
:用 multithread 的方式同時下5個 query 分別給這5台databases
:(現在大部分的 database 應該都有 support query remote
:database 的 API, 這樣就不用 MPI 來傳資料了),這樣應該就
:能滿足你的需求了, 不過這只適合用在以query 為主的
:應用上,若你需要做 update, 就更複雜

Oracle的OEM好像有類似Cache的觀念,
所以不用把Database複製到每一台...

假如你只是要把複雜的SQL變快,
好像有一套叫FastSQL,可以把SQL最佳化,
可能可以快到2x,3x以上...
guest
張貼於: 2002/2/4 9:09
會員五級
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
註冊日: 2006/12/25
來自:
張貼數: 1097
Re:以MPI來實作Database Query的load balancing?
:▼ 引述《 duncan 》的文章 :
: ^^^^^^^^^^^^^^^^^^
:
:你的工作應主要是Database Query,
:這計算及處理的動作應該是由DB Server本身作吧!
:一般像這種Database Query不是
:用分散式計算,像Turbo Linux Enfuzion,
:最少我知道有些證券股市金融是這樣作的!
:
:
::可能不需要用到 MPI, 你可以在 5 台電腦上, 各灌一份
::database, 各存 1/5 的資料(400萬筆), 然後在另一台電腦上
::用 multithread 的方式同時下5個 query 分別給這5台databases
::(現在大部分的 database 應該都有 support query remote
::database 的 API, 這樣就不用 MPI 來傳資料了),這樣應該就
::能滿足你的需求了, 不過這只適合用在以query 為主的
::應用上,若你需要做 update, 就更複雜
:
:Oracle的OEM好像有類似Cache的觀念,
:所以不用把Database複製到每一台...
:
:假如你只是要把複雜的SQL變快,
:好像有一套叫FastSQL,可以把SQL最佳化,
:可能可以快到2x,3x以上...

不知道您對 Oracle 9iRAC 有沒有概念..
或野?Oracle 提供的 RAC 架構可以滿足您的需求..
他可以動態 add/delete Cluster member,
甚至 shutdown 某一台 server 作 maintain 對整體 service 並不會停掉 service.
暨保有 HA 架構, 亦有 Load blance 的效果...

yjs
張貼於: 2002/10/9 22:20
會員一級
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
註冊日: 2006/12/25
來自:
張貼數: 69
Re:以MPI來實作Database Query的load balancing?
:▼ 引述《 Newbie 》的文章 :
:因為資料庫資料筆數太大(>兩千萬筆),
:用一部電腦作query所耗的時間相當長,
:如果想用MPI(五部pc)來實作message passing,
:以一部主電腦將query分給這五部SLAVE電腦作,
:之後將結果回傳給MASTER主電腦。
:
:目前可以採行的系統架構和實作方法是?
:可以選用的資料庫?
:
:新手..請指教..
你提的東西 很像master slave algorithm
程式我寫過 基本上很像tcp/ip上的 server client model
只要會用send recv就可以做出來
Re:以MPI來實作Database Query的load balancing?
:▼ 引述《 Newbie 》的文章 :
:因為資料庫資料筆數太大(>兩千萬筆),
:用一部電腦作query所耗的時間相當長,
:如果想用MPI(五部pc)來實作message passing,
:以一部主電腦將query分給這五部SLAVE電腦作,
:之後將結果回傳給MASTER主電腦。
:
:目前可以採行的系統架構和實作方法是?
:可以選用的資料庫?
:
:新手..請指教..

create materialized view v_s .... as select from original where item-type='aspirin'

write five mpi slavers

foreach slavers{
select count(*) as var1 from v_s
select * from v_s where row_num in a range of

}

guest
張貼於: 2005/2/17 9:23
會員五級
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
註冊日: 2006/12/25
來自:
張貼數: 1097
Re:以MPI來實作Database Query的load balancing?
:▼ 引述《 Newbie 》的文章 :
:因為資料庫資料筆數太大(>兩千萬筆),
:用一部電腦作query所耗的時間相當長,
:如果想用MPI(五部pc)來實作message passing,
:以一部主電腦將query分給這五部SLAVE電腦作,
:之後將結果回傳給MASTER主電腦。
:
:目前可以採行的系統架構和實作方法是?
:可以選用的資料庫?
:
:新手..請指教..

MPI跟你的問題完全無關.

1) 每部PC是否有足夠的儲存空間存一份資料庫?
2) 你用哪種database?
3) 你打算怎麼做資料庫複寫 (Master->Slave)?

mySQL和PostgreSQL有資料庫複製弁鄏O
麻煩的地方是確定query不是out of date
(複製要近乎即時,也要很可靠),所以增加
的管理effort大.
我不會想用這種做法, 雖然mySQL
公司推薦 (因為他們做不到Oracle式的叢集).

不如買一部好伺服器 (Xeon EM64T 或
AMD64, 16GB RAM)和最佳化AP code.

Oracle RAC 可以做到你所需要的但是你有
足夠的預算嗎? 除了軟體還要買SAN...
suhanjyun
張貼於: 2007/10/13 0:04
會員一級
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
因為資料庫資料筆數太大(>兩千萬筆),以一部主電腦將query分給這五部SLAVE電腦作
註冊日: 2006/12/25
來自:
張貼數: 1
Re:以MPI來實作Database Query的load balancing?
我專題有類似做這樣,但是我不是用MPI,而是用存C去做的。

: