- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高速資料庫引擎開發需求書-TWNIC-財團法人台灣網路資訊.doc
高速資料庫引擎開發需求書
財團法人台灣網路資訊中心
台北市羅斯福路二段9號4樓之2
電話:886-2目錄
一、 前言 3
二、 系統描述 3
三、 功能需求 4
四、 預算金額及時程 6
五、 交付項目 6
六、 著作財產權 6
七、 驗收標準 7
八、 開標方式 7
九、 建議書內容 9
十、 附件 10
十一、 參考資料 13
前言
本中心負責.TW網域名稱申請註冊服務及DNS解析服務,為確保在現有網域名稱系統之正確性及服務之可用性前題下提高現有系統效率,需一極高速且穩定之資料庫引擎以加速現有之各項服務,尤其是DNS解析服務需快速即時回應,因此將委外開發一資料庫系統以符合本中心之需求。
DNS說明:
DNS為Internet上最基本之目錄服務,負責網域名稱與IP之對應與查詢,大部分之網路連線都需先透過DNS解析才能找到正確IP連線,各項系統也常利用DNS將IP反解成網域名稱以提高可讀性或驗證正確性等,因此DNS之正確及速度對Internet效率影響極大。
目前Internet上之DNS軟體以BIND這個公用軟體為主,其功能十分強大亦非常高效率,因其使用在記憶體之資料庫結構,但這亦是其致命傷,每當系統重新啟動時在記憶體中之資料會消失,再加上本中心需要某些特殊功能如輔助解析、八位元資料解析、即時更新等,因此決定重新開發一解決上述問題之新版DNS軟體,開發過程中發現現有之資料庫軟體皆無法提供足夠之效能,因此擬開發一高速資料庫系統。
系統描述
本中心目前每天DNS解析次數約為每天3億次,以目前Internet成長之速率本中心DNS解析量約每十二個月就會加倍(如下圖),尤其在新作業系統vista出現後,因其支援IPv6且預設就啟動的情況下會同時查詢IPv6及IPv4位址,將造成DNS查詢量大增之情形。
本中心實際運作之經驗,尖峰之查詢量約為平均量之二倍,依RFC 2870之建議,DNS之查詢容量建議要在尖峰量的三倍以上。
依本中心開發DNS server之經驗,約需作三至五次的資料庫查詢才能回應一個DNS查詢。
綜合上述之推估,若本資料庫之效率需能應付未來5年之需求,則其查詢效需能達到每秒6百餘萬次之查詢次數。
依近年來硬體發展技術,CPU速度每年增加20%,反推在目前之硬體效能下該資料庫之效能至少要達成每秒2百萬次以上之查詢次數。
功能需求
委外開發之資料庫需符合下列條件及功能
資料庫為單純之key與data,在同一資料庫中key值為唯一。
為檔案形式之資料庫,不會因系統重新啟動而喪失資料。
程式不正常結束時不會影響資料庫之正常運作。
可在Linux、FreeBSD、Solaris作業系統下運作。
資料庫軟體需考慮作業系統之限制,如最大檔案大小等,不得因此等限制而影響資料庫運作。
單一資料庫可提供至少一億筆(含)以上之資料儲存。
資料庫之key及data可接受八位元資料,大小寫不分(case sensitive),長度至少可達2048 bytes(含)以上。
提供C程式函式庫以存取及管理資料庫。
在key及data長度皆為100位元以下,每秒新增/刪除可在30萬次(含)以上,查詢可在200萬次(含)以上(不論查到或查不到)。
同一程式可開啟多個資料庫且彼此不互相影響。
同一資料庫可被多個程式同時開啟且彼此不互相影響。
資料庫同一時間僅能被一個程式作寫入動作,當同一時間有其他程式要作寫入動作時需作等待或回應錯誤。
資料庫本身及函式庫需為thread safe。
系統可由多部機器組合而成,若採用多部機器之架構需符合經濟規模,且具可擴充性。所使用之架構需在建議計畫書中詳述並作為評選之依據之一。
下列函式功能供參考,若開發單位有更佳之想法可經委託單位同意後修改:
開啟資料庫
DB_FILE db_open (name, read_write, mode)
char * name;
int read_write, mode;
關閉資料庫
int db_close (dbf)
DB_FILE dbf;
資料查詢
int db_fetch (dbf, key, data)
DB_FILE dbf;
unsigned char key, data;
資料新增
int db_store (dbf, key, data)
DB_FILE dbf;
unsigned char key, data;
資料刪除
int db_delete (dbf, key)
DB_FILE dbf;
unsigned char key;
資料庫重整
int db_reorganize (dbf)
DB_FILE dbf;
讀取整個資料庫
unsigned char db_firstkey (dbf)
DB_FILE dbf;
unsigned
文档评论(0)