1. CMS 1 2 3 CMS 100 PC CMS Design of Scalable CMS using Shoshi TAMAKI, 1 Yu TANINARI 2 and Shinji KONO 3 To develop scalable CMS, We built scalability verification environment with 100 PC Clusters to verify scalabilty of. As a result, We confirm a scalability verification method, feature and scale condition in. In this time, We considered how to secure scalabilty confroming to the verification. According as the method, We designed CMS and implemented Monotonic Tree-Modification for the CMS s data structure 90 PC CMS 2., FaceBook Key-Value Dynamo 2) BigTable 5). 2008, 2009 Apache Incubator. 2010 Apache,. 2.1 ConsistencyLevel, ConsistencyLevel.,,., Read Write ConsistencyLevel. ConsistencyLevel ReplicationFactor,. 1 Interdisciplinary Infomation Engineering, Graduate School of Engineering and Science, University of the Ryukyus. 2 Infomation Engineering, University of the Ryukyus. 3 Infomation Engineering, University of the Ryukyus. 2.2 SEDA SEDA(Staged Event-Driven Architecture), 3)4).. 1.,. 1 c 2011 Information Processing Society of Japan
. PC. 20,,. Node01 Node02 Node03 Node80 MySQL etc... PC Cluster 2 PC dra., Write., REPLACE. REPLACE., INSERT. SEDA. Thread Pool 1 SEDA 2.3 PC 1) PC MySQL Torque, PHP. PHP 10000 2 2.3.1 2Core Read /MySQL Cassan- 2.3.2 4Core8Threads Read/Write MySQL. Read, 70 MySQL., MySQL., SEDA., SEDA,, 2.3.3 Read/Write,., Read/Write 1,., 1.,.,. 2 c 2011 Information Processing Society of Japan
2.3.4 READ/WRITE Browser Web API cache cache cache 3. CMS CMS ( 1 ) ( 2 ) ( 1 ) ( 2 ) 3.1 3 CMS API Web API API bot Web (/API /Web ) CMS Browser Browser 3 3.2 Web Web API API CMS 3.2.1 3 c 2011 Information Processing Society of Japan
root 4. 1 2 3 5 5 6 7 8 9 4 3.2.2 CMS Java 4.1 Node : NodeID : Node ID UUID+Version Forest : Node Tree : Node TreeEditor : 4.1.1 Node/NodeID Node Node NodeID UUID Version NodeID.UUID Node Node Node UUID Node 3 1 root 4 2 5 root 10 100 Tree A A Ver:1 Node Tree B A Ver:3 6 7 8 9 B Ver:1 C Ver:1 B Ver:2 C Ver:7 5 UUID 6 Node NodeID 4 c 2011 Information Processing Society of Japan
4.1.2 Forest Forest Node NodeID key Node NodeID UUID key UUID Node Node CMS Tree Node Forest Forest 4.1.3 Tree Node Forest Tree Node Tree 4.1.4 TreeEditor TreeEditor Tree commit/check/update Tree Tree TreeEditor commit merge Forest Contents Tree TreeEditor Tree Tree 7 4.2 KeySpace Node ColumnFamily Key Column Column Column NodeID NodeID NodeID NodeID ColumnFamily foo fuzz bar Key tip Column Column UUID VERSION foo 8 KeySpace Node ColumnFamily NodeID key Column Node NodeID ColumnFamily Node UUID key Node Version Partitioner key RandomPartitioner 4.2.1 Forest Forest Client Java (java.concurrent ) Future attr hoge old bar 4.2.2 TreeEditor TreeEditor Node 5 c 2011 Information Processing Society of Japan
Thread1,Connection1 getcolumn(...) Thread2,Connection2... Thread n,connection n Future ConnectionPool 9 ConnectionPool batch_mutate ColumnFamily Column TreeEditor NodeID ColumnFamily Node ColumnFamily 1) Shoshi TAMAKI,Shinji KONO: CMS PC, (2010) 2) Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall, Werner Vogels: Dynamo: Amazon s Highly Avaliable Key-value Store, SOSP (2007) 3) Matt Welsh: The Staged Event-Driven Architecture for Highly-Concurrent Applications 4) Matt Welsh, David Culler, Eric Brewer: SEDA : An Architecture for Well- Conditioned, Scalable Internet Services, SOSP (2001) 5) Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber: Bigtable : A Distributed Storege System for Structured Data 5. CMS CMS 6. Symphony Symphony 6 c 2011 Information Processing Society of Japan