http://blog.sina.com.cn/mpl398235717
¨Ddbcached µÄ Memcached ²¿·Ö¡¬²éѯ×ÔÉíµÄÄڴ滺´æÎ´ÃüÖУ¬Ôò¨Ddbcached ³Ö¾Ã»¯´æ´¢¹ÜÀíÆ÷¡¬»áͨ¹ý¨DNMDB ¿Í»§¶Ë½Ó¿Ú¡¬´Ó QDBM »ò Berkeley DB Êý¾Ý¿âÖÐÈ¡³öÊý¾Ý£¬·µ»Ø¸øÓû§£¬È»ºó´¢´æµ½ Memcached ÄÚ´æÖС£Èç¹ûÓÐÓû§ÔÙ´ÎÇëÇóÕâ¸ö key£¬Ôò»áÖ±½Ó´Ó Memcached ÄÚ´æÖзµ»Ø Value Öµ¡£
¡ñ ³Ö¾Ã£ºÊ¹Óà dbcached£¬²»Óõ£ÐÄ Memcached ·þÎñÆ÷ËÀ»ú¡¢ÖØÆô¶øµ¼ÖÂÊý¾Ý¶ªÊ§¡£
¡ñ ±ä¸ü£ºÊ¹Óà dbcached£¬¼´Ê¹ÒòΪ¹ÊÕÏ×ªÒÆ£¬Ìí¼Ó¡¢¼õÉÙ Memcached ·þÎñÆ÷½Úµã¶øÆÆ»µÁ˨Dkey ÐÅÏ¢¡¬Óë¶ÔÓ¦¨DMemcached ·þÎñÆ÷¡¬µÄÓ³Éä¹ØÏµÒ²²»Å¡£
¡ñ ·Ö²¼£ºdbcached ºÍ NMDB ¼È¿ÉÒÔ°²×°ÔÚͬһ̨·þÎñÆ÷ÉÏ£¬Ò²¿ÉÒÔ°²×°ÔÚ²»Í¬µÄ·þÎñÆ÷ÉÏ£¬¶ą̀ dbcached ·þÎñÆ÷¿ÉÒÔ¶ÔӦһ̨ NMDB ·þÎñÆ÷¡£ ¡ñ ÌØ³¤£ºdbcached ¶ÔÓÚ¨D¶Á¡¬´óÓÚ¨Dд¡¬µÄÓ¦ÓÃÓÈÆäÊÊÓá£
¡ñ ÆäËû£º¡¶dbcached µÄ¹ÊÕÏ×ªÒÆÖ§³Ö¡¢Éè¼Æ·½ÏòÒÔ¼°Óë Memcachedb µÄ²»Í¬Ö®´¦¡·
ÁдæÏµÁÐ
HadoopÖ®Hbase
Hadoop / HBase: API: Java / any writer, Protocol: any write call, Query Method: MapReduce Java / any exec, Replication: HDFS Replication, Written in: Java, Concurrency: ?, Misc: Links: 3 Books [1, 2, 3]
Ү³´óѧ֮HadoopDB
http://blog.sina.com.cn/mpl398235717
http://blog.sina.com.cn/mpl398235717
GreenPlum
FaceBookÖ®Cassandra
Cassandra: API: many Thrift ? languages, Protocol: ?, Query Method: MapReduce, Replicaton: , Written in: Java, Concurrency: eventually
consistent , Misc: like \ initiated by Facebook, Slides ? , Clients ?
CassandraÊÇfacebook¿ªÔ´³öÀ´µÄÒ»¸ö°æ±¾£¬¿ÉÒÔÈÏΪÊÇBigTableµÄÒ»¸ö¿ªÔ´°æ±¾£¬Ä¿Ç°twitterºÍdigg.comÔÚʹÓá£
CassandraÌØµã
? Áé»îµÄschema£¬²»ÐèÒªÏóÊý¾Ý¿âÒ»ÑùÔ¤ÏÈÉè¼Æschema£¬Ôö¼Ó»òÕßɾ³ý×ֶηdz£·½±ã£¨on the fly£©¡£
? Ö§³Örange²éѯ£º¿ÉÒÔ¶ÔKey½øÐз¶Î§²éѯ¡£
? ¸ß¿ÉÓ㬿ÉÀ©Õ¹£ºµ¥µã¹ÊÕϲ»Ó°Ï켯Ⱥ·þÎñ£¬¿ÉÏßÐÔÀ©Õ¹¡£
CassandraµÄÖ÷ÒªÌØµã¾ÍÊÇËü²»ÊÇÒ»¸öÊý¾Ý¿â£¬¶øÊÇÓÉÒ»¶ÑÊý¾Ý¿â½Úµã¹²Í¬¹¹³ÉµÄÒ»¸ö·Ö²¼Ê½ÍøÂç·þÎñ£¬¶ÔCassandraµÄÒ»¸öд²Ù×÷£¬»á ±»¸´ÖƵ½ÆäËû½ÚµãÉÏÈ¥£¬¶ÔCassandraµÄ¶Á²Ù×÷£¬Ò²»á±»Â·Óɵ½Ä³¸ö½ÚµãÉÏÃæÈ¥¶ÁÈ¡¡£¶ÔÓÚÒ»¸öCassandraȺ¼¯À´Ëµ£¬À©Õ¹ÐÔÄÜÊDZȽϼòµ¥µÄÊ Ç飬ֻ¹ÜÔÚȺ¼¯ÀïÃæÌí¼Ó½Úµã¾Í¿ÉÒÔÁË¡£ÎÒ¿´µ½ÓÐÎÄÕÂ˵FacebookµÄCassandraȺ¼¯Óг¬¹ý100̨·þÎñÆ÷¹¹³ÉµÄÊý¾Ý¿âȺ¼¯¡£
CassandraÒ²Ö§³Ö±È½Ï·á¸»µÄÊý¾Ý½á¹¹ºÍ¹¦ÄÜÇ¿´óµÄ²éѯÓïÑÔ£¬ºÍMongoDB±È½ÏÀàËÆ£¬²éѯ¹¦ÄܱÈMongoDBÉÔÈõһЩ£¬twitterµÄƽ̨¼Ü¹¹²¿ÃÅÁìµ¼Evan WeaverдÁËһƪÎÄÕ½éÉÜ
http://blog.sina.com.cn/mpl398235717
http://blog.sina.com.cn/mpl398235717
Cassandra£ºhttp://blog.evanweaver.com/articles/2009/07/06/up-and-running-with-cassandra/£¬Óзdz£ÏêϸµÄ½éÉÜ¡£
CassandraÒÔµ¥¸ö½ÚµãÀ´ºâÁ¿£¬Æä½ÚµãµÄ²¢·¢¶ÁдÐÔÄܲ»ÊÇÌØ±ðºÃ£¬ÓÐÎÄÕÂ˵ÆÀ²âÏÂÀ´
CassandraÿÃë´óÔ¼²»µ½1Íò´Î¶ÁдÇëÇó£¬ÎÒÒ²¿´ µ½Ò»Ð©¶ÔÕâ¸öÎÊÌâ½øÐÐÖÊÒɵįÀÂÛ£¬µ«ÊÇÆÀ¼ÛCassandraµ¥¸ö½ÚµãµÄÐÔÄÜÊÇûÓÐÒâÒåµÄ£¬ÕæÊµµÄ·Ö²¼Ê½Êý¾Ý¿â·ÃÎÊϵͳ±ØÈ»ÊÇn¶à¸ö½Úµã¹¹³ÉµÄϵͳ£¬Æä²¢ ·¢ÐÔÄÜÈ¡¾öÓÚÕû¸öϵͳµÄ½ÚµãÊýÁ¿£¬Â·ÓÉЧÂÊ£¬¶ø²»½ö½öÊǵ¥½ÚµãµÄ²¢·¢¸ºÔØÄÜÁ¦¡£ Keyspace
CassandraÖеÄ×î´ó×éÖ¯µ¥Ôª£¬ÀïÃæ°üº¬ÁËһϵÁÐColumn family£¬KeyspaceÒ»°ãÊÇÓ¦ÓóÌÐòµÄÃû³Æ¡£Äã¿ÉÒÔ°ÑËüÀí½âΪOracleÀïÃæµÄÒ»¸öschema£¬°üº¬ÁËһϵÁеĶÔÏó¡£ Column family£¨CF£©
CFÊÇij¸öÌØ¶¨KeyµÄÊý¾Ý¼¯ºÏ£¬Ã¿¸öCFÎïÀíÉϱ»´æ·ÅÔÚµ¥¶ÀµÄÎļþÖС£´Ó¸ÅÄîÉÏ¿´£¬CFÓеãÏóÊý¾Ý¿âÖеÄTable. Key
Êý¾Ý±ØÐëͨ¹ýKeyÀ´·ÃÎÊ£¬CassandraÔÊÐí·¶Î§²éѯ£¬ÀýÈ磺start => '10050', :finish => '10070' Column
ÔÚCassandraÖÐ×Ö¶ÎÊÇ×îСµÄÊý¾Ýµ¥Ôª£¬columnºÍvalue¹¹³ÉÒ»¸ö¶Ô£¬±ÈÈ磺
name:¨Djacky¡¬£¬columnÊÇname£¬valueÊÇjacky£¬Ã¿¸öcolumn:valueºó¶¼ÓÐÒ»¸öʱ¼ä´Á£ºtimestamp¡£
ºÍÊý¾Ý¿â²»Í¬µÄÊÇ£¬CassandraµÄÒ»ÐÐÖпÉÒÔÓÐÈÎÒâ¶à¸öcolumn£¬¶øÇÒÿÐеÄcolumn¿ÉÒÔÊDz»Í¬µÄ¡£´ÓÊý¾Ý¿âÉè¼ÆµÄ½Ç¶È£¬Äã¿ÉÒÔÀí½â Ϊ±íÉÏÓÐÁ½¸ö×ֶΣ¬µÚÒ»¸öÊÇKey£¬µÚ¶þ¸öÊdz¤Îı¾ÀàÐÍ£¬ÓÃÀ´´æ·ÅºÜ¶àµÄcolumn¡£ÕâÒ²ÊÇΪʲô˵Cassandra¾ß±¸·Ç³£Áé»îschemaµÄÔ Òò¡£ Super column
Super columnÊÇÒ»ÖÖÌØÊâµÄcolumn£¬ÀïÃæ¿ÉÒÔ´æ·ÅÈÎÒâ¶à¸öÆÕͨµÄcolumn¡£¶øÇÒÒ»¸öCFÖÐͬÑù¿ÉÒÔÓÐÈÎÒâ¶à¸öSuper column£¬Ò»¸öCFÖ»Äܶ¨ÒåʹÓÃColumn»òÕßSuper column£¬²»ÄÜ»ìÓá£ÏÂÃæÊÇSuper columnµÄÒ»¸öÀý×Ó£¬homeAddressÕâ¸öSuper columnÓÐÈý¸ö×ֶΣº·Ö±ðÊÇstreet£¬cityºÍzip£º homeAddress: {street: \\
Sorting
²»Í¬ÓÚÊý¾Ý¿â¿ÉÒÔͨ¹ýOrder by¶¨ÒåÅÅÐò¹æÔò£¬CassandraÈ¡³öµÄÊý¾Ý˳ÐòÊÇ×ÜÊÇÒ»¶¨µÄ£¬Êý¾Ý±£´æÊ±ÒѾ°´ÕÕ¶¨ÒåµÄ¹æÔò´æ·Å£¬ËùÒÔÈ¡³öÀ´µÄ˳ÐòÒѾȷ¶¨ÁË£¬ÕâÊÇÒ»¸ö¾Þ´óµÄÐÔÄÜÓÅÊÆ¡£ÓÐÒâ˼µÄÊÇ£¬Cassandra°´ÕÕcolumn name¶ø²»ÊÇcolumn valueÀ´½øÐÐÅÅÐò£¬Ëü ¶¨ÒåÁËÒÔϼ¸ÖÖÑ¡ÏBytesType, UTF8Type, LexicalUUIDType, TimeUUIDType, AsciiType, ºÍ
http://blog.sina.com.cn/mpl398235717
http://blog.sina.com.cn/mpl398235717
LongType£¬ÓÃÀ´¶¨ÒåÈçºÎ°´ÕÕcolumn nameÀ´ÅÅÐò¡£Êµ¼ÊÉÏ£¬¾ÍÊǰÑcolumn nameʶ±ð³ÉΪ²»Í¬µÄÀàÐÍ£¬ÒÔ´ËÀ´´ïµ½Áé»îÅÅÐòµÄÄ¿µÄ¡£UTF8TypeÊǰÑcolumn nameת»»ÎªUTF8±àÂëÀ´½øÐÐÅÅÐò£¬LongTypeת»»³ÉΪ64λlongÐÍ£¬TimeUUIDTypeÊǰ´ÕÕ»ùÓÚʱ¼äµÄUUIDÀ´ÅÅÐò¡£ÀýÈ磺
Column name°´ÕÕLongTypeÅÅÐò£º {name: 3, value: \
{name: 123, value: \{name: 976, value: \{name: 832416, value: \
Column name°´ÕÕUTF8TypeÅÅÐò£º {name: 123, value: \{name: 3, value: \
{name: 832416, value: \{name: 976, value: \
ÏÂÃæÎÒÃÇ¿´twitterµÄSchema£º ÎÒÃÇ¿´µ½Ò»¸ö½ÐTwitterµÄkeyspace£¬°üº¬Èô¸É¸öCF£¬ÆäÖÐStatusRelationshipsºÍ UserRelationships±»¶¨ÒåΪ°üº¬Super columnµÄCF£¬CompareWith¶¨ÒåÁËcolumnµÄÅÅÐò¹æÔò£¬CompareSubcolumnsWith¶¨ÒåÁËsubcolumnµÄÅÅÐò ¹æÔò£¬ÕâÀïʹÓÃÁËÁ½ÖÖ£ºTimeUUIDTypeºÍUTF8Type¡£ÎÒÃÇûÓп´µ½ÈκÎÓйØcolumnµÄ¶¨Ò壬ÕâÒâζ×ÅcolumnÊÇ¿ÉÒÔÁé»î±ä¸üµÄ¡£ ΪÁË·½±ã´ó¼ÒÀí½â£¬Îһ᳢ÊÔ×ÅÓùØÏµÐÍÊý¾Ý¿âµÄ½¨Ä£·½·¨È¥ÃèÊöTwitterµÄSchema£¬µ«Ç§Íò²»ÒªÎóÈÏΪÕâ¾ÍÊÇCassandraµÄÊý¾ÝÄ£ÐÍ£¬¶ÔÓÚCassandraÀ´Ëµ£¬Ã¿Ò»ÐеÄcolunn¶¼¿ÉÒÔÊÇÈÎÒâµÄ£¬¶ø²»ÊÇÏóÊý¾Ý¿âÒ»ÑùÐèÒªÔÚ½¨±íʱ¾Í´´½¨ºÃ¡£ http://blog.sina.com.cn/mpl398235717