The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Выпуск СУБД Apache Cassandra 2.1"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск СУБД Apache Cassandra 2.1"  +/
Сообщение от opennews (ok) on 13-Сен-14, 22:50 
После года разработки доступен (https://blogs.apache.org/foundation/entry/the_apache_softwar...) релиз распределённой БД Apache Cassandra 2.1 (http://cassandra.apache.org/), относящейся к классу noSQL-систем и рассчитанной на создание высокомасштабируемых и надёжных хранилищ огромных массивов данных, хранимых в форме ассоциативного массива (хэша). Код проекта написан на языке Java  и распространяется в рамках лицензии Apache 2.0.


Особенности (https://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=bl...) новой версии:


-  Проведена значительная работа по увеличению производительности. По сравнению с прошлым выпуском выигрыш может достигать 50%;

-  В язык CQL3 (http://cassandra.apache.org/doc/cql3/CQL.html) (Cassandra Query Language) добавлены (http://www.datastax.com/dev/blog/cql-in-2-1) средства для определения пользовательских типов (UDT (https://issues.apache.org/jira/browse/CASSANDRA-5590), User Defined Types), реализованы типы  кортежей и добавлена возможность использования вторичных индексов для коллекций;
-  Реализована (http://www.datastax.com/dev/blog/more-efficient-repairs) концепция  инкрементального восстановления, при которой сохраняется состояние ранее восстанавливаемых sstable, а новые операции восстановления проводятся только для новых областей. Подобный подход позволяет существенно ускорить процесс и снизить нагрузку на систему в условиях часто выполняемых операций восстановления. Запустить инкрементальное восстановление можно командой "nodetool repair -par -inc", для ручного управления статусом восстановления подготовлена утилита  tools/bin/sstablerepairedset;
-  Применения (http://www.datastax.com/dev/blog/compaction-improvements-in-...) метода инкрементального замещения в упакованных  SSTables;
-  Увеличена (http://www.datastax.com/dev/blog/row-caching-in-cassandra-2-1) эффективность работы кэша строк;
-  Поддержка (http://www.datastax.com/dev/blog/off-heap-memtables-in-cassa...) размещения хранимых в памяти таблиц (memtables) вне области кучи JVM;
-  Расширены (http://www.datastax.com/dev/blog/improved-cassandra-2-1-stre...) возможности инструментов для стресс-тестирования;
-  Возможность использования экранированных кавычками идентификаторов в именах триггеров;
-  Предлагаемое по умолчанию местоположение файлов с данными и логами изменено на  $CASSANDRA_HOME/data/data, $CASSANDRA_HOME/data/commitlog, $CASSANDRA_HOME/data/saved_caches и $CASSANDRA_HOME/logs. Изменено наименование директорий с данными SSTable (например, ks/cf-5be396077b811e3a3ab9dc4b9ac088d/);


-  Поддержка платформы Windows переведена в разряд готовых к промышленному использованию.


БД Cassandra объединяет в себе полностью распределённую hash-систему Dynamo, обеспечивающую практически линейную масштабируемость при увеличении объема данных. Cassandra использует модель хранения данных на базе семейства столбцов (ColumnFamily), отличающуюся от систем подобных memcachedb, которые хранят данные только в связке ключ/значение, возможностью организовать хранение хэшей с несколькими уровнями вложенности.


Для упрощения взаимодействия с БД поддерживается язык формирования структурированных запросов CQL (http://crlog.info/2011/03/29/cassandra-query-language-aka-cq.../) (Cassandra Query Language), на первый взгляд напоминающий SQL, но существенно урезанный по функциональности. Например, можно выполнять только простейшие запросы SELECT с выборкой по определённому условию, но без поддержки сортировки и группировки. Добавление и обновление данных производится через единое выражение UPDATE, операция INSERT отсутствует (если записи нет, при выполнении UPDATE она создаётся). Из возможностей можно отметить поддержку пространств имён и семейств столбцов, создание индексов через выражение "CREATE INDEX". Драйверы с поддержкой CQL подготовлены для языков Python (http://www.apache.org/dist/cassandra/drivers), Java (https://github.com/racker/node-cassandra-client) (JDBC/DBAPI2) и JavaScript (https://github.com/racker/node-cassandra-client) (Node.js).

Cassandra относится к категории хранилищ повышенно устойчивых к сбоям: помещаемые в БД данные автоматически реплицируются на несколько узлов распределённой сети или даже равномерно распределяются по нескольким дата-центрам. При сбое узла, его функции на лету подхватываются другими узлами. Добавление новых узлов в кластер и обновление версии  Cassandra производится на лету, без дополнительного ручного вмешательства и переконфигурирования других узлов.

Изначально проект был разработан в недрах компании Facebook и в 2009 году передан под покровительство фонда Apache. Промышленные решения на базе Cassandra, способные обрабатывать тысячи запросов в секунду, развернуты для обеспечения сервисов таких компаний и организаций, как Adobe, CERN, Cisco, IBM, HP, Comcast, Disney, eBay, Netflix, Sony, Rackspace, Reddit и Twitter. Наиболее крупный кластер серверов, обслуживающих единую БД Cassandra насчитывает более 400 машин и используется для хранения более 300 Тб данных.


URL: https://blogs.apache.org/foundation/entry/the_apache_softwar...
Новость: http://www.opennet.me/opennews/art.shtml?num=40572

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Выпуск СУБД Apache Cassandra 2.1"  +/
Сообщение от YetAnotherOnanym (ok) on 13-Сен-14, 22:50 
Плюсую, ибо гуд.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Выпуск СУБД Apache Cassandra 2.1"  +/
Сообщение от Аноним (??) on 14-Сен-14, 07:01 
Крупнейшие кластера cassandra у Apple, тысячи серверов, десятки петабайт данных
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Выпуск СУБД Apache Cassandra 2.1"  +/
Сообщение от Аноним2 on 14-Сен-14, 11:00 
Для того чтобы в продакшене использовать cassandra нужны хорошие знания java чтобы отлавливать exception.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Выпуск СУБД Apache Cassandra 2.1"  +1 +/
Сообщение от anonimous on 14-Сен-14, 13:32 
> Для того чтобы в продакшене использовать cassandra нужны хорошие знания java чтобы отлавливать exception.

Для того чтобы в продакшене использовать _некая_субд_ нужны хорошие знания C/C++ чтобы отлавливать error.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

11. "Выпуск СУБД Apache Cassandra 2.1"  +/
Сообщение от Anonnn on 16-Сен-14, 15:23 
Это не мешает многим компаниям использовать MySQL в продакшене без С специалистов. Т.к. MySQL очень популярная и вы вряд ли найдете баг для которого вам срочно понадобится С разработчик.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

12. "Выпуск СУБД Apache Cassandra 2.1"  +/
Сообщение от Fry33 (ok) on 16-Сен-14, 15:26 
> Это не мешает многим компаниям использовать MySQL в продакшене без С специалистов.
> Т.к. MySQL очень популярная и вы вряд ли найдете баг для
> которого вам срочно понадобится С разработчик.

всё зависит от отого как его варить. опять пример из одноклассников, они яву на части просто разрывают, у них давно уже есть свой форк ждк и баги находят хорошо, посколько требовние у них захватыват все мысленмые корнер кейсы.

Для 98% проектов конечно low level знания не понадобятся. Но фейсбук прилично в кишках мускала копается, им важно знать что как там и сколько времени на каком локе и зачем муск висит, и как это оптимизировать.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "Выпуск СУБД Apache Cassandra 2.1"  +/
Сообщение от Anonnn on 16-Сен-14, 15:44 
Согласен, у всех разные масштабы.
А сам фейсбук сейчас использует кассандру? Давно не было никакой инфы об этом.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

14. "Выпуск СУБД Apache Cassandra 2.1"  +/
Сообщение от Skif (ok) on 17-Сен-14, 15:56 
Вообще-то это был стёб. Видимо слишком тонкий, раз вы не поняли.
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

5. "Выпуск СУБД Apache Cassandra 2.1"  +/
Сообщение от Fry33 (ok) on 15-Сен-14, 08:27 
ну дык, зато неимоверную скорость получаем. знаю "некоторую" контору, которую касандра не устроила, они на си всё запилили - там тоже знание си нужно.
вот у однокласников касандра используется. правда хаченная, свой форк. интересно кстати где он гитхабе валяяется, вроде эти ребята всё по чесноку опенсорсят обратно.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

10. "Выпуск СУБД Apache Cassandra 2.1"  +/
Сообщение от Oleg Anastasyev on 15-Сен-14, 16:09 
github.com/odnoklassniki/apache-cassandra
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

6. "Выпуск СУБД Apache Cassandra 2.1"  +/
Сообщение от VoDA (ok) on 15-Сен-14, 08:45 
А чем CREATE COLUMNFAMILY отличается от CREATE TABLE?

Можно ли в текущей реализации динамически "добавлять" столбцы? (когда при сохранении в несуществующий столбец у строки этот столбец появляется)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Выпуск СУБД Apache Cassandra 2.1"  +/
Сообщение от Fry33 (ok) on 15-Сен-14, 09:19 
> А чем CREATE COLUMNFAMILY отличается от CREATE TABLE?

сементика одна и таже.

> Можно ли в текущей реализации динамически "добавлять" столбцы? (когда при сохранении в
> несуществующий столбец у строки этот столбец появляется)

дык это основная фича этой дб, такое там всегда было. это же no schema db.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Выпуск СУБД Apache Cassandra 2.1"  +/
Сообщение от VoDA (ok) on 15-Сен-14, 09:29 
> дык это основная фича этой дб, такое там всегда было. это же no schema db.

и эта фича через CQL работает или нужно другую либу для подключения использовать? ))

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Выпуск СУБД Apache Cassandra 2.1"  +/
Сообщение от Fry33 (ok) on 15-Сен-14, 09:42 
>> дык это основная фича этой дб, такое там всегда было. это же no schema db.
> и эта фича через CQL работает или нужно другую либу для подключения
> использовать? ))

CQL не использовал никогда, всё через Hector - он точно всё может. но думаю
CQL3 уже должен уметь всё тоже.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру