私はCassandraでURL短縮サービスを実装する方法を理解しようとしています。私は:CassandraでURL短縮を実装する
- 3 Cassandraのノード(ドッカーに)たとえばbase62番号(文字列)
にbase10をコード
1 => a, 2 => b, 1205 => JR
問題私はを常にユニークな(インクリメントされた番号)を与えて、次の関数呼び出しが私に一意の文字列を返すようにする必要があるということです。
CREATE TABLE urls (
id int PRIMARY KEY, // 1215 (auto increment)
short_key text, // calculated short string from 1215
url text, // real url
created_at timestamp
) WITH CLUSTERING ORDER BY (created_at DESC);
DESC clustering
では、いつでも行の最後のIDを取得できます。これは、いくつかの問題を作成します。すべての前の行を読む
- は、あなたが書き込みの多くを持っている場合は、すべての のサーバーが遅い
どうでしょうで次の番号を、知っている必要があります
あなたは、この非常に目的のために構築されている「カウンター」を使用してみましたか? – Sreekar
https://docs.datastax.com/en/cql/3.1/cql/cql_using/use_counter_t.html – Sreekar
@ xmas79に記載されているように、カウンタ値を同時に更新して読み取ることはできません。 –