Рубрика «nosql» - 30

Компания Zynga развернула у себя MemSQL кластер из 100 серверов. MemSQL — разработка команды двух бывших сотрудников Facebook, — может и не избавит Zynga от всех проблем, но она однозначно может помочь компании поднять доходы и поспособствовать появлению новых типов игр.

Разработчик социальных игр Zynga не могла похвастаться невероятными успехами после выхода на IPO, и новая база данных имеет шанс оказаться первым шагом к тому, чтобы это исправить. По крайней мере, она может открыть для компании некоторые недоступные раньше возможности, такие как выдача контекстной рекламы и рекомендаций в реальном времени и более продвинутые форматы многопользовательских игр.

MemSQL — это база данных от небольшой компании в Сан-Франциско, созданной Эриком Френкилем (Eric Frenkiel) и Никитой Шамгуновым, двумя бывшими сотрудниками Facebook. База данных, первый релиз которой увидел свет в июне прошлого года, хранит все данные в памяти, используя lock-free структуры данных, и компилирует запросы в машинный код, что позволяет вставлять и обновлять данные с очень высокой скоростью, и одновременно с этим выполнять тяжелые OLAP запросы на живых данных.
Со слов Эрика Френкиля, базой данных сегодня пользуются такие компании как JPMorgan Chase, Hitachi и NY Life.
Читать полностью »

Злые языки вечно утверждают, что среда Caché Studio, увы, не дотягивает до уровня современных IDE.
В кач-ве альтернативной среды разработки мне порекомендовали SerenjiЧитать полностью »

Сегодня мы предлагаем вашему вниманию отрывок из книги Сергея Тарасова «Дефрагментация мозга. Софтостроение изнутри», которая готовится к выходу в нашем издательстве.

Сокрытие базы данных или как скрестить ёжа с ужом

Упомянув один из крупнейших столпов современного софтостроения — мир ООП, нельзя обойти вниманием и другой — мир реляционных баз данных. Я намеренно вставил прилагательное «реляционные» применительно ко всем основным СУБД, хотя ещё в 1970-х годах такое обобщение было бы неправомерным.

Тем не менее, именно реляционным СУБД удалось в 1980-х годах освободить программистов от знания ненужных деталей организации физического хранения данных, отгородившись от них структурами логического уровня и стандартизованным языком SQL для доступа к информации. Также оказалось, что большинство форматов данных, которыми оперируют программы, хорошо ложатся на модель двумерных таблиц и связей между ними. Эти два фактора предопределили успех реляционных СУБД, а в качестве поощрительной премии сообщество получило строгую математическую теорию в основании технологии.

Читать полностью »

Работаю с Redis относительно недавно и вот возникла необходимость изменения одного ключа несколькими потоками одновременно. Для работы с Redis в php использую клиент Rediska. Еще когда читал мануал по Rediska видел раздел про транзакции, а сегодня пришло время почитать внимательнее.

Читать полностью »

Когда вопрос заходит о хранении в БД гибких (заранее не известных, часто изменяемых) структур данных, разработчики обычно обращаются к «великому и ужасному» EAV-паттерну, либо к ныне модным NOSQL базам данных.
Не так давно такая задача стала и передо мной.
EAV. Вызывает у меня стойкую неприязнь, да и сказано и написано об этом было очень много всего негативного (Кайт, Фаулер, Карвин, Горман). Главный минус в том, что при написании запросов приходится оперировать уже не реальными сущностями («Сотрудник», «Дом», «Клиент», то для чего и предназначен SQL), а объектами, орагнизованными на более низком уровне (извините за сумбур). Поэтому это был самый не желательный вариант.
NOSQL. Поначалу очень заинтересовал этот вариант (в частности MongoDB). После продолжительного использования реляционок, первое время начинаешь испытывать чувство тотальной свободы, от которого захватывает дыхание. Хранение документов любой структуры, моментальное создание новых коллекций, запросы к ним — красота! Но после непродолжительного использования эйфория начала спадать, а проблемы обнаруживаться:
— Бедный язык запросов (ИМХО) + отсутствие джойнов;
— Отсутствие схем (хорошая статья недавно была на эту тему (и не только на эту) habrahabr.ru/post/164361/);
— Отсутствие встроенной поддержки ссылочной целостности;
— Отсутствие прибамбасов в виде хранимых процедур/функций, триггеров, представлений и многого другого.
— В моем приложении помимо данных с гибкой(изменяемой) структурой также необходимо хранить обычные статические данные — таблица пользователей, посещений, сотрудников и т.д. Работать с которыми (опять же имхо) гораздо проще и (самое главное) надежнее в обычной реляционной базе (та же самая ссылочная целостность и пр.).

Читать полностью »

От переводчика: Недавно презентовал на Хабре один проект, в котором использовал MySQL. Многие пользователи удивлялись, почему я не использую NoSQL для моих задач, и настоятельно порекомендовали переходить на нереляционные базы данных. Сегодня я наткнулся на эту статью, которая отлично объясняет, почему я “боюсь” NoSQL.

Должен признаться, что долго думал над тем стоит ли писать эссе о базах данных, потому что трогать эту тему всё равно, что открыть банку с червяками (в оригинале – “opening a can of worms” – английская идиома; можно интерпретировать как “Холивар” – прим. перев.). Во-первых, многое было написано до меня, а во-вторых, тема слишком сложна, что бы делать какие-либо выводы из личного опыта.

Последние две недели, однако, заставили меня понять, что я больше никогда не начну проект на основе MongoDB или любой другой нереляционной базы данных (НРДБ) в качестве первичного хранилища данных. Обратите внимание – я сказал “начну”. Я не говорю, что больше никогда не буду использовать MongoDB как таковую.
Читать полностью »

в 10:32, , рубрики: mongodb, nosql

Заканчиваются курсы по MongoDB для разработчиков и архитекторов баз данных от 10gen, компании разработчика MongoDB.
Финальный экзамен отправлен на проверку и хотелось бы поделиться впечатлениями от курса и полученной информации, рассказать о плюсах и «минусах» MongoDB.

Читать полностью »

Как известно, Caché можно использовать как реляционную СУБД, в том числе через JDBC/ODBC драйверы, с возможностью исполнения произвольных SQL-запросов и вызова SQL-процедур.
Известно также, что все данные в Caché хранятся в многомерных разреженных массивах — глобалах. Это позволяет в случае недостаточной производительности отдельно взятой SQL-процедуры не использовать стандартный CachéSQL-движок, а переписать ее код исполнения на языке серверной бизнес-логики Caché ObjectScript (COS), в котором можно реализовать оптимальный алгоритм выполнения SQL-процедуры, часто используя более оптимальные NoSQL-структуры данных (глобалы).
Однако в стандартной библиотеке классов Caché существует одно ограничение: для SQL-процедур, в которых отбор выполняется самописным COS-кодом, необходимо определять набор возвращаемых полей на этапе компиляции — т.е. нет возможности динамически задать метаданные для SQL-процедуры, работающей с NoSQL структурами.

О том, как снять это ограничение, рассказано под катом.
Читать полностью »

Использование MongoDB в Django — документо-ориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц. Написана на языке C++ и распространяется в рамках лицензии Creative Commons.

В последнее время становится довольно популярной и восстребованой. И вот возникла идея использовать ее в связке с фреймворком Django. Собственно о чем далее и пойдет речь.

Читать полностью »

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

В январе 2012 Amazon запустил в своём облаке сервис Dynamo DB. Это NoSQL база данных, которая позволяет решить проблемы масштабирования и производительности. Теперь этот сервис доступен и в Южно-Американском регионе.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js