Метка «mysql» - 12

mysqlnd — расширение PHP, которое является драйвером для работы с MySQL по умолчанию в PHP 5.4. Оно работает напрямую с MySQL сервером, а значит, MySQL клиент, а также оверхед на работу с ним, больше не требуется!

image

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

По мере использования xmpp сервером ejabberd наблюдаю крайний дефицит документации. Каждый чих чуть отклоняющийся от стандартных потребностей приходится придумывать самому, либо собирать по кусочкам из конференций, списков рассылки, комментариев в svn и непосредственно исходников.

С выходом ejabberd 2.1.11, в котором разработчики добавили поддержку ODBC в новых модулях, я столкнулся с проблемой переноса данных из штатной БД mnesia в более подходящую под мои задачи mysql. Когда-то я ее уже решал для других модулей, но лишь отдаленно помню как. Сейчас попробую вспомнить и задокументировать процесс для будущего себя и всех кому это может быть интересно.

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

NewSQL

Начало

Сегодня очень легко наблюдать стремительный рост данных в интернете. Согласно одной оценке, данные, созданные в 2010, составляют приблизительно 1,200 ЭБ (1018 байт) и вырастут почти к 8,000 ЭБ к 2015 в Интернете, являющимся основным поставщиком данных к потребителю.

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

Пока программисты всего мира устраивают глобальные Holywars на тему: «SQL vs NoSQL», крупные компании, такие как Google и Facebook со своей миллиардной аудиторией всеми силами борются с нехваткой мощностей и предельными работами СУБД. Несмотря на появление новой технологии NoSQL, которая позволяла легко масштабировать данные, она так и не решила вопросы связанные с соответствием операций требованиям ACID (atomicity, consistency, isolation, durability — «атомарность, непротиворечивость, изолированность, долговечность») — стандарта, который гарантирует точность выполнения оперативных транзакций средствами СУБД, даже если работа системы прерывалась. На фоне всего этого компания VoltDB при поддержке нескольких других компаний, начали разрабатывать с чистого листа новый opensource проект под название NewSQL, сочетающий в себе лучшие стороны SQL и NoSQL.
Читать полностью »

Здравствуйте.

Хочу поделиться опытом миграции боевой базы данных с MySQL 5.0 на Percona Server 5.5 под нагрузкой почти без отрыва от производства.

Опишу вкратце эволюцию нашей базы до текущего состояния

База у нас древняя, пережила несколько апгрейдов MySQL. Начинали с MySQL 3.x. С ростом нагрузки, уже на MySQL 5.0, настроили репликацию и подключили еще один сервер для чтения. Тогда мы это делали стандартными средствами MySQL, без привлечения xtrabackup — полностью блокировали сервер на время создания мастер-дампа и вывешивали на сайтах заглушки.

Затем встала следующая проблема — на томе с данными стало заканчиваться место. Плюс InnoDB-хранилище исторически располагалось в одном файле. Было рассмотрено много вариантов решения. Начиная от размещения базы на iSCSI-томе и заканчивая перетыканием в рейд более емких дисков, расширением на них volume group / logical volume с последующим расширением файловой системы.

В качестве временного варианта решили подключить iSCSI-том из виртуалки под VMWare vCloud (не реклама, честно!). vCloud стоит у нас под боком.
Читать полностью »

Приветствую Вас, жители Хабра.

Недавно на работе возникла ситуация: необходимо было поднять новый почтовый сервер и перенести на него все текущие учетные записи и структуру их почтовых папок со старого сервера. Эта необходимость возникла по нескольким причинам:

  1. Количество учетных записей было ограничено 250 аккаунтами;
  2. В последнее время сервер почты стал постоянно зависать так, что помогал только хард-ресет (в свое время подметил, что перед этим довольно-таки упорно используется HDD);

Вот что было на тот момент (на платформе SuperMicro):

  • PC: CPU Intel® Xeon® X3440 2.53GHz 2.53GHz, RAM 4GB, HDD 1TB
  • OS: Windows Server 2008 Enterprise Service Pack 2
  • MTA: Alt-N MDaemon (SMTP(S)/POP(S)/IMAP(S) server, SpamD, WorldClient)

Использовалось около 240 учетных записей и папка Users (здесь вся почта) весила около 200 GB.

Что получилось (платформа Dell PowerEdge 2850)

  • PC: CPUx2 Intel® Xeon® E5430 2.66GHz 2.67GHz, RAM 4GB, HDD 408GB (RAID: 0)
  • OS: FreeBSD 9.0
  • MTA: Exim+DoveCot+SpamAssassin

Ну а теперь все по порядку. Читать полностью »

DBSlayer прокси на BASH за 5 минут или еще один способ отдать JSON из MySQL

Дело было вечером, делать было нечего, но дурная голова уркам покоя не давала… Данный пост создан как результат чисто-академического интереса. А началось все с того, что при разработке небольшого клиентского приложения для своих нужд, реализованного на Javascript, появилась необходимость взаимодействовать с уже существующей базой, где хранятся искомые данные. База — MySQL. Один из простых способов — реализация серверного скрипта (на PHP или еще каком языке), который по входящим параметрам делает нужный запрос и возвращает результат в JSON виде.

Другой вариант — это DBSlayer-прокси для MySQL. Кто про него не слышал, рассказываю в крадце: был создан в недрах New York Times как средство абстракции и балансирования нагрузки на БД. Подробнее можно почитать на сайте code.nytimes.com/projects/dbslayer/wiki/WhyUseIt. DBSlayer предоставляет API на основе JSON, известен в кругу NodeJS разработчиков.

Но это тоже не наш метод. Под катом приведено простое решение данной задачи на BASH.

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

Введение

MySQL — весьма противоречивый продукт. С одной стороны, он имеет несравненное преимущество в скорости перед другими базами данных на простейших операциях/запросах. С другой стороны, он имеет настолько неразвитый (если не сказать недоразвитый) оптимизатор, что на сложных запросах проигрывает вчистую.

Прежде всего хотелось бы ограничить круг рассматриваемых проблем оптимизации «широкими» и большими таблицами. Скажем до 10m записей и размером до 20Gb, с большим количеством изменяемых запросов к ним. Если в вашей в таблице много миллионов записей, каждая размером по 100 байт, и пять несложных возможных запросов к ней — это статья не для Вас. Рассматривается движок MySQL innodb/percona — в дальнейшем просто MySQL.Читать полностью »

Пишем модуль на C++ для nodejs на примере работы с MySQL

Введение

Многие уже успели попробовать Node.js, на мой взгляд очень это удобный инструмент, для решения многих задач. Меня прежде всего в Node.js привлекает возможность писать код на JavaScript и большой набор встроенных модулей для решения часто возникающих задач. Если чего-то не оказалось в стандартной поставке то огромное количество дополнительных модулей есть в репозитории npmjs.org

Однако иногда бывают ситуации когда всё, что есть либо работает не так как хочется, либо вообще не работает в заданных условиях, или всё куда банальней и просто не смог найти то, что нужно. Так случилось и у меня, мне понадобился модуль который может синхронно выполнять запросы к MySQL причём четвёртой версии. Первый испытанный модуль работал исключительно с пятой версией, потом нашлись другие но так и не смог найти тот который позволяет выполнять запросы синхронно(плохо искал).

После изучения документации, я пришёл к выводу что, могу написать нужный мне модуль на C++ и оформить его как addon к node.js, если вам интересно познакомится с процессом создания модуля добро пожаловать под кат.
Читать полностью »

Зачем я пишу эту статью? Во-первых я хотел бы внести свой вклад в понимание людьми сути nosql и того, почему выбирать эту технологию нужно осознанно. Во-вторых, я буду рад встретить единомышленников, противников и, возможно, подискутировать. А если Вам понравилась эта статья, то буду рад услышать вопросы, которые можно раскрыть более подробно в новых статьях:)

Несмотря на то, что nosql решений сейчас тьма, люди неохотно переходят на новые типы хранилищ. Правильно ли это? На мой взгляд – да. И я постараюсь сказать почему, на примере разных nosql хранилищ, которые встретились на моём профессиональном пути.
Читать полностью »

Победители премии Duke's Choice Award 2012 были объявлены командой Oracle в преддверье самого крупного ежегодного события в мире Java – конференции JavaOne в Сан-Франциско, и мы среди них! Проект Jelastic победил в номинации «Технологический лидер». Было очень приятно разделить пьедестал почёта с другими победителями, среди которых Hadoop Project, Parleys.com и Liquid Robotics. Это не только наша победа, это победа всех читательов, ведь наш проект зародился на Хабре и постоянно развивается благодаря Вашему активному фидбэку. Огромное спасибо за поддержку!

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


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