= 2009-09-23 = == File System : lessfs : deduplication == * 先前一直有在注意 virtualization 所帶來的資料重疊問題,!NetApp 在這方面就很厲害,可以從 File System 下手,把重複的檔案進行濃縮(deduplication)。今天剛好看到 Linux Magazine 的文章「[http://www.linux-mag.com/id/7535 Deduping Storage Depulication]」,裡面有提到目前許多商業解決方案,但自由軟體呢?目前似乎只有用 FUSE 寫的 [http://sourceforge.net/projects/lessfs/ lessfs],它的官方網站 http://www.lessfs.com/ 目前並沒有太多資料,希望未來會有更多這類的檔案系統出現。我第一個想到的問題是在 loop device image 裡重複的檔案,該怎麼進行 deduplication 呢?? 同樣的 vmdk 這一些虛擬化的硬碟,有辦法作 deduplication 嘛?? * [cloud:wiki:jazz/10-03-03 2010-03-03] 邀請 Sun 來演講 ZFS, 發現原來 ZFS 也有 deduplication 的特性呢!!真好!! == Virtualization == * [http://www.linux-mag.com/id/7532 Virtualization Makes Traditional Operating Systems Obsolete] - 從開始研究虛擬化之後,就有一種感覺,現在「OS 不再是 OS」,「Hypervisor 本身就已經是個微型的 OS 或該稱之為 BIOS 呢??」。研究雲端運算之後,覺得「Browser 不再是 Browser」,反倒是「Browser 有點像新的 OS 可以拿來跑 Web Application」。回顧了關注很久的 !CoreBoot (LinuxBIOS) 專案後更覺得「BIOS 不再是 BIOS」,如果把 Xen 或 KVM 擺到 LinuxBIOS 去[wiki:jazz/09-08-17#FastBooting:Coreboot 1][wiki:jazz/09-01-31#CoreBootandVirtualization 2],那現有的 OS 就變成只是一個 Client Application,隨你高興要開 Windows 還是另一個 Linux,那還需要 Windows 嘛?! Windows 變成有點像 Emulator,是為了跑以前的應用程式而存在。很有趣~ == Cloud Computing == * 2008-08-26 看到的 [http://vcl.ncsu.edu/ The Virtual Computing Lab] * [http://vcl.ncsu.edu/help/general-information/how-it-works How it Works] * 原來 VCL 是 [http://incubator.apache.org/projects/vcl.html Apache 的育成專案(incubator)],底層是基於先前看過的 [http://xcat.sourceforge.net/ xCAT] - [http://www.linux-mag.com/id/7230/2/ From Clusters To Clouds: xCAT 2 Is Out Of The Bag] ([wiki:jazz/09-01-26 09-01-26]) * 而 xCAT 2 (Extreme Cluster Administration Toolkit 2.x) 則是[http://www.redbooks.ibm.com/redpapers/pdfs/redp4437.pdf 從 IBM 的 Cluster Systems Management (CSM) 演化而來] * 目前 VCL 的實機佈署(Physical (bare-metal) provisioning)使採用 xCAT * 目前 VCL 的虛擬機器僅適用於 VMware ESXi, VMware ESX Standard server, VMware Free Server 的 Provision * [http://lmkbiz.blogspot.com/2009/09/cloud-computing.html 雲端運算改變資訊科技市場形勢] - 轉載自[http://www.hkej.com/template/dnews/jsp/detail.jsp?dnews_id=1030&title_id=131989 香港信報研究部] * [http://news.networkmagazine.com.tw/web/2009/09/23/15311/ IBM、微軟共同支持Zend開放原始碼網雲API] * http://www.simplecloud.org/ * [http://framework.zend.com/wiki/display/ZFPROP/Zend_Service_WindowsAzure+-+Maarten+Balliauw Zend Service for Windows Azure] * [http://sites.computer.org/debull/A09mar/issue1.htm Bulletin of the Technical Committee on Data Engineering] * [論文] [http://sites.computer.org/debull/A09mar/cooper1.pdf Building a Cloud for Yahoo!] * [論文] [http://sites.computer.org/debull/A09mar/cuibin.pdf Implementation Issues of A Cloud Computing Platform] * http://www.icde2010.org/ - 26th IEEE International Conference on Data Engineering == Windows Azure == * [http://minchuanwang.blogspot.com/2009/09/microsoft-sql-azure-cloud-computing.html Microsoft SQL Azure 初步介紹及申請(Cloud Computing, 雲端運算)] * [http://minchuanwang.blogspot.com/2009/09/microsoft-sql-azure-cloud-computing_24.html Microsoft SQL Azure 連線方法(Cloud Computing, 雲端運算)] == Linux == * [http://josephj.com/article/understand-ssh-key/ SSH 免密碼登入] a. 啟動 ssh-agent {{{ ~$ eval `ssh-agent -s` }}} b. 將私密金鑰交給 ssh-agent 保管:ssh-add {{{ ~$ ssh-add }}} * [http://josephj.com/article/putty-key/ PuTTY 免密碼登入] * 先前有成功完成 PuTTYgen 的部分,有機會來試試看 Pageant 的做法。 == Cluster Computing == * 從 [http://phantom.nchc.org.tw/ Phantom Cluster] 的架構圖中看到 psacct package,原來是可以拿來統計不同使用者登入登出跟執行指令的工具啊!! * [http://cha.homeip.net/blog/archives/2006/11/psacct_checkins.html psacct & checkinstall 使用備忘] * [[Image(http://phantom.nchc.org.tw/images/arch.JPG,width=400)]] == NoSQL == * 從 [http://www.google.com.tw/trends?q=mongodb%2C+sqlite%2C+CouchDB%2C+google+gears&ctab=0&geo=all&date=all&sort=1 Google Trends] 的搜尋趨勢可以看到 SQLite > Google Gears > CouchDB 的趨勢,象徵著 distributed database 的影響力尚未普及。 * [[Image(wiki:jazz/09-09-23:sqlite_gears.jpg,width=600)]] * [http://www.metabrew.com/article/anti-rdbms-a-list-of-distributed-key-value-stores Anti-RDBMS: A list of distributed key-value stores] - 列舉出一些分散式 key-value 資料庫,不過漏了 * 噗浪的[http://opensource.plurk.com/LightCloud/ lightcloud]。 * [http://code.google.com/p/redis/ redis] - A persistent key-value database with built-in net interface written in ANSI-C for Posix systems * [http://www.linux-mag.com/cache/7496/1.html Redis: Lightweight key/value Store That Goes the Extra Mile] - 另一個輕量級的 Key/Value 資料庫 * [http://wiki.apache.org/couchdb/ CouchDB] - * [http://packages.ubuntu.com/couchdb Ubuntu couchdb 套件] * [http://packages.debian.org/couchdb Debian couchdb 套件] * [http://wiki.apache.org/couchdb/EntityRelationship Modeling Entity Relationships in CouchDB] * [http://code.google.com/p/couchdb-fuse/ couchdb-fuse] - CouchDB FUSE File System * [影片] [http://video.yahoo.com/watch/2278623/7162319 Next Generation Data Storage with CouchDB (speaker: Jan Lehnardt) - Part 1] * [影片] [http://video.yahoo.com/watch/2278711/7162483 Next Generation Data Storage with CouchDB (speaker: Jan Lehnardt) - Part 2] * [影片] [http://video.yahoo.com/watch/2241669/7074711 MapReduce vs MySQL (speaker Stu Hood) - Part 1] * [影片] [http://video.yahoo.com/watch/2241684/7074739 MapReduce vs MySQL (speaker Stu Hood) - Part 2] * [影片] [http://video.yahoo.com/watch/2242180/7076074 MapReduce vs MySQL (speaker Stu Hood) - Part 3] * 在看維基百科的時候,發現 CouchDB 同時被分屬在 [http://en.wikipedia.org/wiki/Column-oriented_DBMS Column-oriented DBMS] 跟 [http://en.wikipedia.org/wiki/Document-oriented_database Document-oriented database] * [http://labs.mudynamics.com/2009/04/03/interactive-couchdb/ Interactive CouchDB] - 這裡用 Java Script 示範了 CouchDB 結合不同用途的 MapReduce 實作。 * [http://dotcloud.org/ dot.Cloud] - an open-source cloud federation platform. - 從 Feature 看起來頗 Powerful * Keep your servers under revision control * Stop worrying about maintaining state: just create and kill instances * Use tools you know: rsync, mercurial/git, ssh * Push a small upgrade to your images without moving gigabytes around * Replicate multi-server setups in just one command * Cleanly separate data (DB, logs, content) and code (OS, libraries, binaries, configuration) * Map data volumes to any available storage (NAS, EBS, S3) * Save bandwidth by delivering your app closer to the consumer * [http://code.google.com/p/gears-dblib/ gears-dblib] - A simple abstraction on top of the Database object in Gears * [http://code.google.com/p/orient/ orient] - NoSQL document database light, portable and fast. Supports ACID Tx, Indexes, asynch queries, SQL layer, clustering, etc == Programming Management : Continuous Integration (CI) == * [http://josephj.com/entry.php?id=251 當紅炸子雞:Continuous Integration] * [http://martinfowler.com/articles/continuousIntegration.html 原始概念出處] * 類似的概念,其實這次 COSA 會員大會也有提到必須靠定期的測試才能避免軟體接近結案才進行大修改。 * 在 last.fm 的簡報中,則說他們採用敏捷式專案管理(Agile Management)的 [http://www.controlchaos.com/about/ Scrum] 管理法。 * 我覺得 last.fm 在投影片裡講到 "People trump process" (人勝過流程) 真的是很貼近最近的心情啊!! * [[Image(wiki:jazz/09-09-23:experience_of_last.fm.png)]] * 此外,他們也會開發一些簡單的鏈結工具來加速分散式協同開發的速度,如 IRCCat ... * [[Image(wiki:jazz/09-09-23:last.fm_irccat_bot.jpg)]] == Web Service == * [http://browsers.garykeith.com/ 關於 browscap 專案] * 從 [http://josephj.com/entry.php?id=249 再會了,CSS Hack] 這篇文章看到的 {{{ browscap 是由 Microsoft 提出,藉由 Web Server 定期的自動更新一個叫 browscap.dll 的檔案, 讓程式可以從 Header 的 User Agent String 中對應出正確的 Browser 與 Operation System、以及其版本。 }}} * [http://www.phpclasses.org/browse/package/3195.html MySQL to JSON] - 能直接把 mysql_fetch_object 的結果變成 JSON * [http://ajaxian.com/archives/php-based-mysql-to-json-converter PHP-Based MySQL-to-JSON Converter] * [影片] [http://vimeo.com/6691519 Introduction to HTML 5] - Google 工程師簡介什麼是 HTML5 == 生活 == * [http://www.cw.com.tw/article/print.jsp?id=39019 補充水分你做對了嗎?上班族正確喝水有妙方] {{{ 若水喝得不夠,身體容易偏酸性。 ●水對打造強健的骨骼有益。 ●水分充足的腦部,有助增強記憶力。 最好的喝水時間在早上起床後,幫助排除夜間積留在體內的毒素 }}}