Архив рубрики: Без рубрики

Как вставить значение в UUID-поле в Cassandra

Возникла необходимость заполнить таблицу двумя миллионами тестовых записей. Одно из полей имеет тип TIMEUUID. Мне было необходимо вставить случайные значения в это поле, в зависимости от сгенерированного времени. Скажу, что это была таблица логов и к ней писался пейджинатор (которого, как известно, для Кассандры не существует).

Устанавливаем и подключаем gem simple_uuid.

Сам процесс создания выглядит очень просто:

time = Time.now-(70000*rand())
uuid = SimpleUUID::UUID.new(time)
$db.execute("INSERT INTO Logs (id, timestamp, message) VALUES (?, ?, ?)", uuid, time, "Запись лога #{counter}")

В первой строке мы создаём случайный таймстамп.
Затем генерируем случайный UUID на основании этой метки. И вставляем в базу 🙂

Установка Apache Cassandra на CentOS 6.5

Обновим систему и пакеты до самых последних версий:

# yum update
# yum upgrade

Теперь необходимо добавить новый репозиторий для установки Cassandra:

# vi /etc/yum.repos.d/datastax.repo

Добавляем в него следующий код и сохраняем:

[datastax]
name= DataStax Repo for Apache Cassandra
baseurl=http://rpm.datastax.com/community
enabled=1
gpgcheck=0

Затем ищем последнюю доступную версию базы данных:

# yum search dsc

Будет выведено нечто подобное:

[root@localhost gruz0]# yum search dsc
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: centos-mirror.rbc.ru
 * extras: centos-mirror.rbc.ru
 * updates: centos-mirror.rbc.ru
===================================================================== N/S Matched: dsc ======================================================================
dsc.noarch : Meta RPM for installation of the DataStax DSC platform
dsc1.1.noarch : Meta RPM for installation of the DataStax DSC platform
dsc12.noarch : Meta RPM for installation of the DataStax DSC platform
dsc20.noarch : Meta RPM for installation of the DataStax DSC platform

Name and summary matches only, use "search all" for everything.

Нам нужна версия dsc20, установим её:

# yum install dsc20

Всё 😉