Mercurial > hg > Database > Cassandra
annotate NEWS.txt @ 0:d485154379c8 default tip
apache-cassandra-0.6.0-rc1-src
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 02 Apr 2010 13:36:02 +0900 |
parents | |
children |
rev | line source |
---|---|
0
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 0.6.0 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2 ===== |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
3 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
4 Features |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
5 -------- |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
6 - row caching: configure with the RowsCached attribute in |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 ColumnFamily definition |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
8 - Hadoop map/reduce support: see contrib/word_count for an example |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 - experimental authentication support, described under |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 Authenticator in storage.conf |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
11 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
12 Configuraton |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
13 ------------ |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
14 - MemtableSizeInMB has been replaced by MemtableThroughputInMB which |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
15 triggers a memtable flush when the specified amount of data has |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
16 been written, including overwrites. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
17 - MemtableObjectCountInMillions has been replaced by the |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
18 MemtableOperationsInMillions directive which causes a memtable flush |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
19 to occur after the specified number of operations. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
20 - Like MemtableSizeInMB, BinaryMemtableSizeInMB has been replaced by |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
21 BinaryMemtableThroughputInMB. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
22 - Replication factor is now per-keyspace, rather than global. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
23 - KeysCachedFraction is deprecated in favor of KeysCached |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
24 - RowWarningThresholdInMB added, to warn before very large rows |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
25 get big enough to threaten node stability |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
26 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
27 Thrift API |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
28 ---------- |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
29 - removed deprecated get_key_range method |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
30 - added batch_mutate meethod |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
31 - deprecated multiget and batch_insert methods in favor of |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
32 multiget_slice and batch_mutate, respectively |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
33 - added ConsistencyLevel.ANY, for when you want write |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
34 availability even when it may not be readable immediately. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
35 Unlike CL.ZERO, though, it will throw an exception if |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
36 it cannot be written *somewhere*. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
37 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
38 JMX metrics |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
39 ----------- |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
40 - read and write statistics are reported as lifetime totals, |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
41 instead of averages over the last minute. average-since-last |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
42 requested are also available for convenience. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
43 - cache hit rate statistics are now available from JMX under |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
44 org.apache.cassandra.db.Caches |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
45 - compaction JMX metrics are moved to |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
46 org.apache.cassandra.db.CompactionManager. PendingTasks is now |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
47 a much better estimate of compactions remaining, and the |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
48 progress of the current compaction has been added. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
49 - commitlog JMX metrics are moved to org.apache.cassandra.db.Commitlog |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
50 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
51 Installation/Upgrade |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
52 -------------------- |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
53 - 0.6 network traffic is not compatible with earlier versions. You |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
54 will need to shut down all your nodes at once, upgrade, then restart. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
55 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
56 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
57 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
58 0.5.0 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
59 ===== |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
60 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
61 0. The commitlog format has changed (but sstable format has not). |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
62 When upgrading from 0.4, empty the commitlog either by running |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
63 bin/nodeprobe flush on each machine and waiting for the flush to finish, |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
64 or simply remove the commitlog directory if you only have test data. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
65 (If more writes come in after the flush command, starting 0.5 will error |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
66 out; if that happens, just go back to 0.4 and flush again.) |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
67 The format changed twice: from 0.4 to beta1, and from beta2 to RC1. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
68 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
69 .5 The gossip protocol has changed, meaning 0.5 nodes cannot coexist |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
70 in a cluster of 0.4 nodes or vice versa; you must upgrade your |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
71 whole cluster at the same time. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
72 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
73 1. Bootstrap, move, load balancing, and active repair have been added. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
74 See http://wiki.apache.org/cassandra/Operations. When upgrading |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
75 from 0.4, leave autobootstrap set to false for the first restart |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
76 of your old nodes. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
77 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
78 2. Performance improvements across the board, especially on the write |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
79 path (over 100% improvement in stress.py throughput). |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
80 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
81 3. Configuration: |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
82 - Added "comment" field to ColumnFamily definition. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
83 - Added MemtableFlushAfterMinutes, a global replacement for the |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
84 old per-CF FlushPeriodInMinutes setting |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
85 - Key cache settings |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
86 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
87 4. Thrift: |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
88 - Added get_range_slice, deprecating get_key_range |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
89 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
90 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
91 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
92 0.4.2 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
93 ===== |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
94 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
95 1. Improve default garbage collector options significantly -- |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
96 throughput will be 30% higher or more. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
97 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
98 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
99 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
100 0.4.1 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
101 ===== |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
102 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
103 1. SnapshotBeforeCompaction configuration option allows snapshotting |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
104 before each compaction, which allows rolling back to any version |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
105 of the data. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
106 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
107 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
108 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
109 0.4.0 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
110 ===== |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
111 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
112 1. On-disk data format has changed to allow billions of keys/rows per |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
113 node instead of only millions. The new format is incompatible with 0.3; |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
114 see 0.3 notes below for how to import data from a 0.3 install. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
115 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
116 2. Cassandra now supports multiple keyspaces. Typically you will have |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
117 one keyspace per application, allowing applications to be able to |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
118 create and modify ColumnFamilies at will without worrying about |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
119 collisions with others in the same cluster. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
120 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
121 3. Many Thrift API changes and documentation. See |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
122 http://wiki.apache.org/cassandra/API |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
123 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
124 4. Removed the web interface in favor of JMX and bin/nodeprobe, which |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
125 has significantly enhanced functionality. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
126 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
127 5. Renamed configuration "<Table>" to "<Keyspace>". |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
128 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
129 6. Added commitlog fsync; see "<CommitLogSync>" in configuration. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
130 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
131 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
132 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
133 0.3.0 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
134 ===== |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
135 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
136 1. With enough and large enough keys in a ColumnFamily, Cassandra will |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
137 run out of memory trying to perform compactions (data file merges). |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
138 The size of what is stored in memory is (S + 16) * (N + M) where S |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
139 is the size of the key (usually 2 bytes per character), N is the |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
140 number of keys and M, is the map overhead (which can be guestimated |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
141 at around 32 bytes per key). |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
142 So, if you have 10-character keys and 1GB of headroom in your heap |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
143 space for compaction, you can expect to store about 17M keys |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
144 before running into problems. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
145 See https://issues.apache.org/jira/browse/CASSANDRA-208 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
146 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
147 2. Because fixing #1 requires a data file format change, 0.4 will not |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
148 be binary-compatible with 0.3 data files. A client-side upgrade |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
149 can be done relatively easily with the following algorithm: |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
150 for key in old_client.get_key_range(everything): |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
151 columns = old_client.get_slice or get_slice_super(key, all columns) |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
152 new_client.batch_insert or batch_insert_super(key, columns) |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
153 The inner loop can be trivially parallelized for speed. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
154 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
155 3. Commitlog does not fsync before reporting a write successful. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
156 Using blocking writes mitigates this to some degree, since all |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
157 nodes that were part of the write quorum would have to fail |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
158 before sync for data to be lost. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
159 See https://issues.apache.org/jira/browse/CASSANDRA-182 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
160 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
161 Additionally, row size (that is, all the data associated with a single |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
162 key in a given ColumnFamily) is limited by available memory, because |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
163 compaction deserializes each row before merging. |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
164 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
165 See https://issues.apache.org/jira/browse/CASSANDRA-16 |
d485154379c8
apache-cassandra-0.6.0-rc1-src
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
166 |