2016-10-17 17 views
4

Datastax Academyデータモデリングコースの式を使用して、任意の数の列とタイプのテーブル内の各行のパーティションサイズを計算しようとしています。一般的なCassandraデータタイプのバイトサイズとは何ですか? - パーティションディスク使用量を計算するときに使用されますか?

これを行うには、いくつかの一般的なCassandraデータタイプの「バイトサイズ」を知る必要があります。私はこれをGoogleにしようとしましたが、私は多くの提案を得て、私は困惑しています。私はのバイトサイズを知りたいのですが

データ型は、次のとおりです。

  • 単一カサンドラのTEXT文字が(私は2から回答ググ - 4バイト)
  • AカサンドラDECIMAL
  • AカサンドラをINTは、
  • A CassandraのBIGINT(私はそれが4バイトであると仮定)(..私は、それが1バイトであると仮定するか、単一ビットである)
  • A CassandraのBOOELAN(私はそれが8バイトであると仮定する)

カサンドラのデータタイプのサイズについては、他の考慮事項も当然理解できます。

私は、「最悪のシナリオディスク使用量」を推測しようとしていることを理解するのが紛らわしいので、追加情報を追加すると、カサンドラの背後にある圧縮やその他の最適化がデータに占有されます。

私はDatastax Academy Course DS220(最後のリンクを参照)に従い、数式を実装しており、その式の変数としてここでの回答を使用します。

https://academy.datastax.com/courses/ds220-data-modeling/physical-partition-size

+0

を役に立てば幸い、カサンドラは、ディスク上のデータを圧縮します。したがって、あなたが持っているデータによっては、実際のストレージサイズを評価するのに非常に役立つものではありません。私はあなた自身のサイズをベンチするべきだと思います。 –

+0

面白い答えはDatastax Academyコースでは語られていません! Cassandra(私はC * 3. +を使用しています)で使用されるデータ圧縮率は何ですか、そして私が求めているタイプのサイズは?ありがとう! – nicgul

+0

私が求めているのは、ユーザーに、広い行の「オーバーヘッド」を含む、ストレージに入れるデータのサイズについてのヒントを与えるユースケースがあるからです。 – nicgul

答えて

5

私は、実用的な観点から、設計時にds220コースの式を使用して、ワーストケースの包絡線を推定することが賢明だと思います。圧縮の効果は、データ内のアルゴリズムやパターンによって異なります。 ds220からとhttp://cassandra.apache.org/doc/latest/cql/types.html

uuid: 16 bytes 
timeuuid: 16 bytes 
timestamp: 8 bytes 
bigint: 8 bytes 
counter: 8 bytes 
double: 8 bytes 
time: 8 bytes 
inet: 4 bytes (IPv4) or 16 bytes (IPV6) 
date: 4 bytes 
float: 4 bytes 
int 4 bytes 
smallint: 2 bytes 
tinyint: 1 byte 
boolean: 1 byte (hopefully.. no source for this) 
ascii: equires an estimate of average # chars * 1 byte/char 
text/varchar: requires an estimate of average # chars * (avg. # bytes/char for language) 
map/list/set/blob: an estimate 

はそれがデフォルトで

0

何かに関連するオーバーヘッドを推定する唯一の確実な方法は、実際に対策を実行することです。実際には、個のデータ型を持つデータ型を一般化することはできません。 4つのbigintの列があり、オーバーヘッドがXであると仮定している場合、400 bigintの列がある場合、オーバーヘッドはおそらく100xではありません。これは、Cassandraがデータをディスクに保存する前に、すべてのデータを圧縮します(デフォルトでは、列ごとにtunableという設定です)。

はクラスタ内で、私は生産データを意味し、いくつかのデータをロードしようとし、その後のは、あなたの結果と圧縮設定を教えてください。あなたはいくつかの驚きを見つけるだろう。

データを把握しています。

+0

よろしくお願いいたします。私はDatastax Academyコース(リンクを参照)はちょうど正しくないと彼らは本当ではないものを教えていると思う? – nicgul

+0

https://academy.datastax.com/courses/ds220-data-modeling/physical-partition-size – nicgul

+0

Datastaxの誰か、またはCassandraの開発に深く関わっている方は、これを確認できますか? – nicgul

関連する問題