Article View: cn.bbs.comp.database
Article #226NoSQL��ݿ�̽��֮һ �� ΪʲôҪ�÷ǹ�ϵ��ݿ⣿
From: Galaxy��VOLUNTEERS��Database
Date: Thu, 17 Dec 2009 11:22
Date: Thu, 17 Dec 2009 11:22
220 lines
22720 bytes
22720 bytes
http://robbin.javaeye.com/blog/524977 ���Ż�����web2.0��վ�����𣬷ǹ�ϵ�͵���ݿ����ڳ���һ���������ŵ������� ��ϵ��ݿ��Ʒ�ķ�չ�dz�Ѹ�١���ͳ�Ĺ�ϵ��ݿ���Ӧ��web2.0��վ���ر��dz��� ��ģ�߲�����SNS���͵�web2.0����̬��վ�Ѿ��Ե��������ģ���¶�˺ܶ����Կ˷��� ���⣬���磺 1��High performance - ����ݿ�߲�����д������ web2.0��վҪ����û����Ի���Ϣ��ʵʱ��ɶ�̬ҳ����ṩ��̬��Ϣ�����Ի����� ��ʹ�ö�̬ҳ�澲̬�������������ݿⲢ�����طdz��ߣ�����Ҫ�ﵽÿ������ζ�д ����ϵ��ݿ�Ӧ�������SQL��ѯ����ǿ����ס������Ӧ�������SQLд������� Ӳ��IO���Ѿ��������ˡ���ʵ������ͨ��BBS��վ������Ҳ���ڶԸ߲���д��������� ��������JavaEye��վ��ʵʱͳ�������û�״̬����¼�������ӵĵ������ͶƱ����� ���������һ���൱�ձ������ 2��Huge Storage - �Ժ�����ݵĸ�Ч�ʴ洢�ͷ��ʵ����� ����Facebook��twitter��Friendfeed�����SNS��վ��ÿ���û����������û���̬�� ��FriendfeedΪ��һ���¾ʹﵽ��2.5�����û���̬�����ڹ�ϵ��ݿ���˵����һ��2. 5������¼�ı��������SQL��ѯ��Ч���Ǽ�����������������ܵġ����������web��վ ���û���¼ϵͳ��������Ѷ��ʢ���������ڼƵ��ʺţ���ϵ��ݿ�Ҳ����Ӧ���� 3��High Scalability && High Availability- ����ݿ�ĸ߿���չ�Ժ߿����Ե��� �� �ڻ���web�ļܹ����У���ݿ������ѽ��к�����չ�ģ���һ��Ӧ��ϵͳ���û����ͷ��� �����վ�����ʱ�������ݿ�ȴû�а취��web server��app server�����ͨ�� ��Ӹ���Ӳ���ͷ���ڵ�����չ���ܺ������������ںܶ���Ҫ�ṩ24Сʱ����Ϸ� �����վ��˵������ݿ�ϵͳ���������չ�Ƿdz�ʹ������飬������Ҫͣ��ά���� ���Ǩ�ƣ�Ϊʲô��ݿⲻ��ͨ��ϵ���ӷ������ڵ���ʵ����չ�أ� �������ᵽ�ġ���ߡ�������ǰ����ϵ��ݿ����������Կ˷����ϰ��������web2.0�� վ��˵����ϵ��ݿ�ĺܶ���Ҫ����ȴ����������֮�أ����磺 1����ݿ�����һ�������� �ܶ�webʵʱϵͳ����Ҫ���ϸ����ݿ����Զ�һ���Ե�Ҫ��ܵͣ���Щ���϶�дһ ����Ҫ��Ҳ���ߡ������ݿ�������������ݿ�߸�����һ�����صĸ����� 2����ݿ��дʵʱ�ԺͶ�ʵʱ������ �Թ�ϵ��ݿ���˵������һ�����֮�����̲�ѯ���ǿ϶����Զ�����������ݵģ����� ���ںܶ�webӦ����˵������Ҫ����ô�ߵ�ʵʱ�ԣ��ȷ�˵�ң�JavaEye��robbin����һ ����Ϣ֮��������ʮ����֮���ҵĶ����߲ſ���������̬����ȫ���Խ��ܵġ� 3���Ը��ӵ�SQL��ѯ���ر��Ƕ�������ѯ������ �κδ��������webϵͳ�����dz��ɻ������Ĺ�����ѯ���Լ����ӵ���ݷ������͵� ����SQL�����ѯ���ر���SNS���͵���վ���������Լ���Ʒ��ƽǶȣ��ͱ����������� ���IJ����������ֻ�ǵ���������ѯ���Լ�����ļ�������ҳ��ѯ��SQL�Ĺ��� ������������ˡ� ��ˣ���ϵ��ݿ�����ЩԽ��Խ���Ӧ�ó������Եò���ô�����ˣ�Ϊ�˽���������� �ķǹ�ϵ��ݿ�Ӧ�˶������������꣬���ָ���ǹ�ϵ��ݿ⣬�ر��Ǽ�ֵ��ݿ�(Ke y-Value Store DB)������ӿ����������ۻ����ҡ�ǰ���ù���ովٰ���NoSQL Conference����·NoSQL��ݿ�����࣬����δ���൫����������ģ������г���10�� ��Դ��NoSQLDB�����磺 Redis��Tokyo Cabinet��Cassandra��Voldemort��MongoDB��Dynomite��HBase��CouchDB ��Hypertable�� Riak��Tin�� Flare�� Lightcloud�� KiokuDB��Scalaris�� Kai�� ThruDB�� ...... ��ЩNoSQL��ݿ⣬�е�����C/C++��д�ģ��е�����Java��д�ģ����е�����Erlang�� д�ģ�ÿ�������Լ��Ķ���֮�����������������ˣ���(robbin)Ҳֻ�ܴ�����ѡһЩ�� ������ɫ������������ǰ���IJ�Ʒѧϰ���˽�һ�¡���ЩNoSQL��ݿ���¿��Է�Ϊ���� �����ࣺ һ�����㼫�߶�д���������Kye-Value��ݿ⣺Redis��Tokyo Cabinet�� Flare ������Key-Value��ݿ����Ҫ�ص���Ǿ��м��ߵIJ�����д���ܣ�Redis��Tokyo Cabinet�� Flare����3��Key-Value DB������C��д�ģ����ǵ����ܶ��൱��ɫ�������� ��ɫ�����ܣ����ǻ����Լ����صĹ��ܣ� 1��Redis Redis��һ�����µ���Ŀ���ոշ�����1.0�汾��Redis��������һ��Key-Value���͵��� ����ݿ⣬����memcached�������ݿ�ͳͳ�������ڴ浱�н��в���������ͨ���첽�� ������ݿ����flush��Ӳ���Ͻ��б��档��Ϊ�Ǵ��ڴ������Redis�����ܷdz���ɫ�� ÿ����Դ��?��10��ζ�д����������֪������������Key-Value DB�� Redis�ij�ɫ֮�������������ܣ�Redis����������֧�ֱ���List�����Set���ϵ���� �ṹ�����һ�֧�ֶ�List���и��ֲ����������List����push��pop��ݣ�ȡList��䣬 ����ȵȣ���Set֧�ָ��ּ��ϵIJ����������������ⵥ��value�����������1GB������ memcachedֻ�ܱ���1MB����ݣ����Redis��������ʵ�ֺܶ����õĹ��ܣ��ȷ�˵����� List����FIFO˫�����?ʵ��һ���������ĸ�������Ϣ���з��������Set���������� �ܵ�tagϵͳ�ȵȡ�����RedisҲ���ԶԴ����Key-Value����expireʱ�䣬���Ҳ���Ա� ����һ�����ܼ�ǿ���memcached���á� Redis����Ҫȱ������ݿ������ܵ������ڴ�����ƣ���������������ݵĸ����ܶ�д�� ������û��ԭ��Ŀ���չ���ƣ�������scale������չ��������Ҫ�����ͻ�����ʵ�ֲַ� ʽ��д�����Redis�ʺϵij�����Ҫ�����ڽ�С������ĸ����ܲ����������ϡ�Ŀǰʹ�� Redis����վ��github��Engine Yard�� 2��Tokyo Cabinet��Tokoy Tyrant TC��TT�Ŀ��������ձ���Mikio Hirabayashi����Ҫ�������ձ�����SNS��վmixi.jp�� ��TC��չ��ʱ�����磬�����Ѿ���һ���dz��������Ŀ��Ҳ��Kye-Value��ݿ�������� ���ȵ㣬���ڱ��㷺��Ӧ���ںܶ�ܶ���վ�ϡ�TC��һ�������ܵĴ洢���棬��TT�ṩ �˶��̸߲߳���������������Ҳ�dz���ɫ��ÿ����Դ���4-5��ζ�д������ TC����֧��Key-Value�洢֮�⣬��֧�ֱ���Hashtable������ͣ���˺���һ���� ��ݿ�?���һ�֧�ֻ���column��������ѯ����ҳ��ѯ�������ܣ������൱��֧ �ֵ���Ļ��ѯ�����ˣ����Կ��Լ�����ϵ��ݿ�ĺܶ��������Ҳ��TC�ܵ� ��һ�ӭ����Ҫԭ��֮һ����һ��Ruby����Ŀmiyazakiresistance��TT��hashtable�IJ� ����װ�ɺ�ActiveRecordһ��IJ������������dz�ˬ�� TC/TT��mixi��ʵ��Ӧ�õ��У��洢��2000�������ϵ���ݣ�ͬʱ֧����������������� ����һ���þ��������Ŀ��TC�ڱ�֤�˼��ߵIJ�����д���ܵ�ͬʱ�����пɿ�����ݳ� �û����ƣ�ͬʱ��֧�����ƹ�ϵ��ݿ��ṹ��hashtable�Լ�����������ҳ������ ��������һ���ܰ���NoSQL��ݿ⡣ TC����Ҫȱ������������ﵽ���ڼ����Ժ���д������ܻ�����½���NoSQL: If Only It Was That Easy�ᵽ�����Ƿ�����TC�������1.6����2-20KB��ݵ�ʱ��д �����ܿ�ʼ�����½��������ǵ��������������ʱ��TC���ܿ�ʼ�����½�����TC�� ���Լ��ṩ��mixi���������������ǧ�����������ʱ��û��������ô���Ե�д���� ��ƿ���� �����Tim Yang����һ��Memcached��Redis��Tokyo Tyrant�ļ��������⣬������ �� 3��Flare TC���ձ���һ��SNS��վmixi�����ģ���Flare���ձ��ڶ���SNS��վgreen.jp�����ģ��� ��˼�ɡ�Flare��˵���Ǹ�TC�����scale���ܡ����滻����TT���֣��Լ������TC д�������������Flare����Ҫ�ص����֧��scale������������������֮ǰ�����һ ��node server���������˵Ķ���������ڵ㣬��˿��Զ�̬�����ݿ����ڵ㣬ɾ ��������ڵ㣬Ҳ֧��failover��������ʹ�ó�������Ҫ��TC����scale����ô���Կ� ��flare�� flareΨһ��ȱ�������ֻ֧��memcachedЭ�飬��˵���ʹ��flare��ʱ�Ͳ���ʹ�� TC��table��ݽṹ�ˣ�ֻ��ʹ��TC��key-value��ݽṹ�洢�� �������㺣���洢����ͷ��ʵ������ĵ�����ݿ⣺MongoDB��CouchDB �����ĵ��ķǹ�ϵ��ݿ���Ҫ��������ⲻ�Ǹ����ܵIJ�����д�����DZ�֤������ݴ� ����ͬʱ���������õIJ�ѯ���ܡ�MongoDB����C++�����ģ���CouchDB����Erlang������ �� 1��MongoDB MongoDB��һ�����ڹ�ϵ��ݿ�ͷǹ�ϵ��ݿ�֮��IJ�Ʒ���Ƿǹ�ϵ��ݿ�й����� �ḻ�������ϵ��ݿ�ġ���֧�ֵ���ݽṹ�dz���ɢ��������json��bjson��ʽ����� ���Դ洢�Ƚϸ��ӵ�������͡�Mongo�����ص�����֧�ֵIJ�ѯ���Էdz�ǿ����� �е��������������IJ�ѯ���ԣ���������ʵ�����ƹ�ϵ��ݿⵥ���ѯ�ľ�ֹ� �ܣ����һ�֧�ֶ���ݽ������� Mongo��Ҫ������Ǻ�����ݵķ���Ч�����⣬��ݹٷ����ĵ�����������ﵽ50GB���� ��ʱ��Mongo����ݿ�����ٶ���MySQL��10�����ϡ�Mongo�IJ�����дЧ�ʲ����ر�� ɫ����ݹٷ��ṩ�����ܲ��Ա�������Լÿ����Դ���0.5��1.5�ζ�д������Mon go�IJ�����д���ܣ��ң�robbin��Ҳ�����пյ�ʱ��úò���һ�¡� ��ΪMongo��Ҫ��֧�ֺ�����ݴ洢�ģ�����Mongo���Դ���һ����ɫ�ķֲ�ʽ�ļ�ϵͳG ridFS������֧�ֺ�������ݴ洢������Ҳ������Щ������ΪGridFS���ܲ��ѣ���һ�㻹 ���д����������������֤�ˡ� �������Mongo����֧�ָ��ӵ���ݽṹ�����Ҵ���ǿ�����ݲ�ѯ���ܣ���˷dz��ܵ� ��ӭ���ܶ���Ŀ��������MongoDB�����MySQL��ʵ�ֲ����ر��ӵ�WebӦ�ã��ȷ�˵wh y we migrated from MySQL to MongoDB����һ����ʵ�Ĵ�MySQLǨ�Ƶ�MongoDB�İ��� ���������ʵ��̫������Ǩ�Ƶ���Mongo���棬��ݲ�ѯ���ٶȵõ��˷dz���������� �� MongoDBҲ��һ��ruby����ĿMongoMapper����ģ��Merb��DataMapper��д��MongoDB�Ľ� �ڣ�ʹ�������dz���������DataMapperһģһ���ܷdz�ǿ�����á� 2��CouchDB CouchDB������һ���dz����������Ŀ���ƺ����ö�����ˡ�������ȴ��CouchDBû��ʲ ô��Ȥ����Ҫ����ΪCouchDB�����ṩ�˻���HTTP REST�Ľӿڣ����CouchDB�����Ӳ��� ��д������˵���Ƿdz����ģ����������������˶�CouchDB����Ȥ�� ������߿���չ�ԺͿ����Ե�����ֲ�ʽ�������ݿ⣺Cassandra��Voldemort ����scale��������ݿ���ʵ��Ҫ������������������������ݿ��̫һ�������� ������һ���ֲ�ʽ����ݿ�ϵͳ���ɷֲ��ڲ�ͬ�ڵ��������ݿͬ����һ����ݿ� ����ϵͳ�����Ҹ�����ֲַ�ʽ�ܹ����ṩonline�ģ����е��ԵĿ���չ����������� �Բ�ͣ�����Ӹ����ݽڵ㣬ɾ����ݽڵ�ȵȡ������Cassandra������������һ�� ��Դ�汾��Google BigTable�����Ʒ��Cassandra��Voldemort������Java�����ģ� 1��Cassandra Cassandra��Ŀ��Facebook��2008�꿪Դ�����ģ����Facebook�Լ�ʹ��Cassandra���� ��һ������Դ�ķ�֧����Դ������Cassandra��Ҫ��Amazon��Dynamite�Ŷ���ά������ ��Cassandra����Ϊ��Dynamite2.0�汾��Ŀǰ����Facebook֮�⣬twitter��digg.com�� ��ʹ��Cassandra�� Cassandra����Ҫ�ص��������һ����ݿ⣬������һ����ݿ�ڵ㹲ͬ���ɵ�һ���� ��ʽ�������Cassandra��һ��д�������ᱻ���Ƶ�����ڵ���ȥ����Cassandra�� ��������Ҳ�ᱻ·�ɵ�ij���ڵ�����ȥ��ȡ������һ��CassandraȺ����˵����չ������ �Ƚϼ����飬ֻ����Ⱥ��������ӽڵ�Ϳ����ˡ��ҿ���������˵Facebook��Cassa ndraȺ���г���100̨���������ɵ���ݿ�Ⱥ���� CassandraҲ֧�ֱȽϷḻ����ݽṹ����ǿ��IJ�ѯ���ԣ���MongoDB�Ƚ����ƣ��� ѯ���ܱ�MongoDB����һЩ��twitter��ƽ̨�ܹ������쵼Evan Weaverд��һƪ���½��� Cassandra��http://blog.evanweaver.com/articles/2009/07/06/up-and-running-with -cassandra/���зdz���ϸ�Ľ��ܡ� Cassandra�Ե����ڵ�����������ڵ�IJ�����д���ܲ����ر�ã�������˵��������Ca ssandraÿ���Լ����1��ζ�д������Ҳ����һЩ���������������ɵ����ۣ����� ����Cassandra�����ڵ��������û������ģ���ʵ�ķֲ�ʽ��ݿ����ϵͳ��Ȼ��n�� ���ڵ㹹�ɵ�ϵͳ���䲢������ȡ�������ϵͳ�Ľڵ�������·��Ч�ʣ�������ǵ� �ڵ�IJ������������� 2��Voldemort Voldemort�Ǹ���Cassandra���Ƶ�������scale����ķֲ�ʽ��ݿ�ϵͳ��Cassandra ������Facebook���SNS��վ����Voldemort��������Linkedin���SNS��վ��˵����SNS ��վΪ���ǹ�����n���NoSQL��ݿ⣬����Cassandar��Voldemort��Tokyo Cabinet��Fl are�ȵȡ�Voldemort�����ϲ��Ǻܶ࣬�����û���ر���ϸȥ���У�Voldemort�ٷ���� Voldemort�IJ�����д����Ҳ�ܲ��?ÿ�볬����1.5��ζ�д�� ��Facebook����Cassandra��Linkedin����Voldemort������Ҳ���Դ��¿����������SNS ��վ���ڷֲ�ʽ��ݿ⣬�ر��Ƕ���ݿ��scale��������������Ƕ�ô���С�ǰ���ң� robbin���ᵽ��webӦ�õļܹ����У�web���app�������˵������������չ��Ψ���� �ݿ��ǵ���ģ�����scale������Facebook��Linkedin�ڷǹ�ϵ����ݿ�ķֲ�ʽ����̽ ����һ���ܺõķ�����Ҳ��Ϊʲô����Cassandra��ô���ŵ���Ҫԭ�� ���NoSQL��ݿ��Ǹ����˺��˷ܵ��������Dz������µļ����µIJ�Ʒð�������ı� �����Ѿ��γɵĹ��еļ���������Լ���robbin�����˽���һЩ���о��Լ����� �ij��Խ�ȥ�ˣ�����˵NoSQL��ݿ�����Ҳ�Dz�����ģ��ң�robbin��Ҳֻ��dz����ֹ ���ң�robbin��д��ƪ���¼����Լ�һ��������ĵã�Ҳ����ש����ϣ���������� �����о�������������ۺͽ����� ���ң�robbin�����˵���Ȥ��˵���ֲ�ʽ��ݿ�ϵͳ��������ʵ���õ��ļ�������˲� ���㻨ʱ�����룬���������������������NoSQLDB�ͺ����洢NoSQLDB�������Һ� ����Ȥ�ģ��ر���Redis��TT/TC��MongoDB��3��NoSQL��ݿ⣬����ҽ�������д��ƪ�� �·ֱ���ϸ������3����ݿ⡣ -- Welcome to Database Board ��ӭ������ݿ�� http://bbs.sjtu.edu.cn/bbsdoc?board=database [m[1;36m�� ��Դ:����ˮ˼Դ bbs.sjtu.edu.cn��[FROM: 219.142.46.135][m
Technical Details
Message-ID:
<4jQYCH$b0a@bbs.sjtu.edu.cn>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nx02.iad01.newshosting.com!newshosting.com!novia!transit3.readnews.com!news-out.readnews.com!news-xxxfer.readnews.com!teleglobe.net!newsgate.cuhk.edu.hk!news.neu.edu.cn!news.shec6.edu.cn!SJTUShow Full Headers
Complete Article Headers
X-Google-Thread: 4df683fd51,a007aff899a56905,start X-Google-Attributes: gid4df683fd51,public,usenet X-Google-NewGroupId: yes X-Google-Language: Chinese,GB Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nx02.iad01.newshosting.com!newshosting.com!novia!transit3.readnews.com!news-out.readnews.com!news-xxxfer.readnews.com!teleglobe.net!newsgate.cuhk.edu.hk!news.neu.edu.cn!news.shec6.edu.cn!SJTU From: Dem.bbs@bbs.sjtu.edu.cn (Galaxy��VOLUNTEERS��Database) Newsgroups: cn.bbs.comp.database Subject: NoSQL��ݿ�̽��֮һ �� ΪʲôҪ�÷ǹ�ϵ��ݿ⣿ Date: 17 Dec 2009 11:22:10 GMT Organization: ��ˮ˼Դ Message-ID: <4jQYCH$b0a@bbs.sjtu.edu.cn> Mime-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: 8bit X-Filename: database/M.1261048913.A