Columnã®timestampã¨ããtransactionã«ã¤ãã¦ã®è©±
Cassandraãã¯ãããã°ã£ããã®æã«èªåã®é ãæ´çããããã«æ¸ããã¢ãã«å³ãä»ã®äººã«ãå½¹ã«ç«ã£ãããã§ããã©ãã¯ããã¯ããã¦ãããããããããã¨ã§ãã
ã§ããã©ãã¯ããã¯å
ã®ããã°ãèªãã§ãããããããªãã¨ãæ¸ãã¦ãã£ãã
Columnã®æ§æã¯ã·ã³ãã«ã§ãname,valueã¨timestampã§æ§æããã¦ãã¾ããï¼ä¸ç¥ï¼ã¾ãé¢ç½ããã¨ã«timestampã®æéã¯ãã¯ã©ã¤ã¢ã³ãåã®timestampãè¨å®ãã¾ãããªã®ã§ããµã¼ãå´ã¨ã¡ããã¨æéåæãã¦ããã¦ãã ãããã¨ã®ãã¨ã§ããæãåã£ãå²ãåãã§ãããåæ£åDBã£ã¦ãããªæããªã®ã§ããããã
Cassandraのデータモデリング。或いはKeyspaceの設定方法 - プログラマになりたい
ãã®timestampã®è©±ã£ã¦çµæ§éè¦ã ã¨å人çã«ã¯æã£ã¦ãããåããããã°ã«æ¸ããããªã¼ã¨æã£ã¦ãã®ã§ãåå°çã«æ¸ãã¦ããã
Cassandra Wikiã«ã¯timestampã«ã¤ãã¦ä»¥ä¸ã®ããã«æ¸ãã¦ããã
ã¿ã¤ã ã¹ã¿ã³ããå«ãã«ã©ã ã®å ¨ã¦ã®å¤ã¯ã¯ã©ã¤ã¢ã³ããã渡ããã¾ããããã¯ã©ãããäºãã¨ããã¨ãã¯ã©ã¤ã¢ã³ãã®ã¯ããã¯ã¯Cassandraãµã¼ãç°å¢éã§åæãåãã¦ããªããã°ãããªãã¨ãããã¨ã§ã(ã«ã©ã ã®ã¿ã¤ã ã¹ã¿ã³ãã¯è¡çªã®è§£æ±ºã«ä¾¿å©ã§ã)ã
DataModel_JP - Cassandra Wiki
ããã£ã¨æ¸ãã¦ãããã©ãRDBMSããCassandraã«ãã人ã«ã¨ã£ã¦ã¯ãããªããå¯è¨ã«è¿ãããã¨ãæ¸ãã¦ããã
- Columnæ´æ°æãtimestampã¯å¿
ãã¯ã©ã¤ã¢ã³ãå´ã®timestampã渡ãå¿
è¦ãããããã®å¤ã§ãªããã£ãã¹ãã£ãã¯ããã¯ãããã
- ãä¿åããã¦ããtimestampãããinsert/deleteã§æ¸¡ãtimestampããã大ãããªãã¨æ´æ°ã§ããªã
- Cassandraèªä½ã«ã¯ã©ã¹ã¿ãã¼ãã®timestampãåæãããä»çµã¿ã¯ãªã
- NTPãªã©ä»ã®æ段ã§åæããå¿ è¦ãããããã¯ã©ã¹ã¿ä¸ã®ãµã¼ãå ¨ã¦ãããªç§åä½ã§åä¸æå»ã«ãªãäºã¯ä¿éã§ããªããããããããªã
Cassandraã®å®è£ ä¸ãåä½ã§ã¯ã·ã¹ãã ä¸æãªtimestampãåãããããªãã®ã§ãã»ã¼åæã«Columnæ´æ°ãçºçããå ´åãçµæãã©ããªããä¸å®ã¨ãªã£ã¦ãã¾ãã
ç絡çã«èããã¨ã1å°ã¿ã¤ã ãµã¼ããç«ã¦ã¦ãããããtimestampãåã£ããã»ã»ã»ãã¨ããã®ãæãã¤ãããããã§ã¯ãã®ã¿ã¤ã ãµã¼ããåä¸é害ç¹ã«ãªã£ã¦ãã¾ãã®ã§ããããããããªããã¾ããä»®ã«ã¿ã¤ã ãµã¼ããç«ã¦ãã¨ãã¦ããããããtransactionã«è©²å½ããæ©è½ãæã£ã¦ããªãã®ã§ãè¤æ°Columnã®æ´æ°ãå³å¯ã«è¡ãã訳ã§ã¯ãªãã
è¦ã¯ãCassandraã®Columnæ´æ°ï¼åææ´æ°ï¼ã¯RDBMSã®ããã«å³å¯ã§ã¯ãªããã¨ããäºããããã£ã¨æ¸ããã¦ãã訳ã§ãããããã¯ç¾ç¶ã®Column-Orientedãªãã¼ã¿ãã¼ã¹å ±éã®ç¹å¾´ã ã£ãããããã ãã©ã
ãªã®ã§ãCassandraã§transactionãå¿ è¦ãªã·ã¹ãã ãæ§ç¯ããå¿ è¦ãããå ´åãZooKeeperãªã©ãå©ç¨ãã¦èªåã§transactionãå®è£ ããããéç¨ã§ã«ãã¼ãããï¼transactionãã·ã¹ãã ã§æ ä¿ããã®ã§ã¯ãªãéç¨ã§ãªã«ããªã¼ã§ããããã«ããï¼ãããããtransactionã諦ããããã¨ãªã£ã¦ããã
ã¡ãªã¿ã«TwitterãDiggãCassandraãæ¡ç¨ããï¼æ¤è¨¼ãã¦ããï¼ã®ã¯ããã®ãã¼ã¿ã®ç¹æ§ããã¤ã³ãã«ãªã£ã¦ããï¼ã¯ãï¼ãã¨ããã®ããwriteã®ã»ã¨ãã©ã追è¨ã§ãæ´æ°ããã£ãã¨ãã¦ãåææ´æ°ã¯ã¾ãçºçããªãããä»®ã«æ´æ°ãè¡çªãã¦çµæãä¸å®ã«ãªã£ã¦ãã¾ã£ã¦ãã·ã¹ãã çã«ã¯ãªããåé¡ããªãäºã¯å¿µé ã«ç½®ãã¦ããã¹ãã§ããã
2010/05/10追è¨
ããããCassandra Wikiã«ãã¼ã¿ã®ä¸è²«æ§ã¯éè¦ãã¦ãªãã£ã¦æè¨ãã¦ãã£ãã
CAPå®ç
Eric Brewerï¼ã¨ãªãã¯ã»ãã«ã¼ã¯ã¼ï¼ã®CAPå®ç (PDF)ã«æ¯é ãããç¶æ³ã§ã¯ãConsistencyï¼ä¸è²«æ§ãã³ã³ã·ã¹ãã³ã·ã¼ï¼ãAvailabilityï¼å¯ç¨æ§ãã¢ãã¤ã©ããªãã£ã¼ï¼ãPartition-toleranceï¼åå²èæ§ããã¼ãã£ã·ã§ã³ãã¬ã©ã³ã¹ï¼ã®ãã¡2ã¤ãé¸æããå¿ è¦ãããã¾ããåæã«3ã¤ã®æ§è³ªãæºãããã¨ã¯ã§ããªããããããããå¾ãã«ã¯ã¬ã¤ãã³ã·ã¼ï¼é 延ï¼ã許容ããå¿ è¦ãããã¾ããï¼è¨³æ³¨ï¼BASEã®èããé©ç¨ããå¿ è¦ãããã¾ãï¼
Cassandraã¯ãå¯ç¨æ§ã¨åå²èæ§ï¼APï¼ãéè¦ãã¦ãã¾ããä¸è²«æ§ã¨é 延ã¯ãã¬ã¼ããªãã®é¢ä¿ã«ãããCassandraã§ã¯æ´åæ§ã¬ãã«ã調æ´å¯è½ï¼tunableï¼ã§ããé 延ã許容ããã°Cassandraã§ã¯å¼·ãä¸è²«æ§ï¼Strong Consistencyï¼ãå¾ããã¨ãã§ãã¾ããããããè¡ããã¯ãåå¾ãããã¨ã¯ã§ãã¾ããããã®ç¹ã¯ãHBaseã®æ¹ãåªãã¦ãã¾ãã
ã¡ã¢: HBaseã¯ãä¸è²«æ§ã¨åå²èæ§ï¼CPï¼ãéè¦ãã¦ãã¾ã
ArchitectureOverview_JP - Cassandra Wiki
Cassandraã¯ãCAPå®çã®Cï¼ä¸è²«æ§ï¼ãæ¨ã¦ã代ããã«ãAï¼å¯ç¨æ§ï¼ãéè¦ãã¦ãI/Oï¼ç¹ã«Writeï¼ãé«éãã«ãªã£ã¦ãããã¨ãç¹å¾´ã§ããã
éã«ä¸è²«æ§ãtransactionãéè¦ããå¿ è¦ãããå ´åã¯ãHBaseãOracle RACãªã©ã使ãã£ã¦ãã¨ã§ã
2010/05/10追è¨2
ã©ã®ãã¼ã¿ãã¼ã¹ï¼ã¹ãã¬ã¼ã¸ï¼ãCAPå®çã®ã©ããéè¦ãã¦ãããã¯ãPublickeyã«è¯ãè¨äºãããã
NoSQL登場の背景、CAP定理、データモデルの分類 - Publickey