Гибкость — это когда нет зависимости между моделей данных, бизнес логикой, поведением и местом хранения данных.
https://habrahabr.ru/post/327746/
Гибкость — это когда нет зависимости между моделей данных, бизнес логикой, поведением и местом хранения данных.
https://habrahabr.ru/post/327746/
Перестаньте выносить повторяющийся код. Дублирование кода — это нормально. Особенно в контроллерах. Когда мы говорим про DRY многие забывают про Try. Далеко не все дублирование нужно устранять. В целом мотивация этого действа весьма простая — если в коде будут баги и этот код дублируется — то надо править в нескольких местах. Однако с другой стороны, когда речь идет про такие вещи как контроллеры, которые декларируют последовательность действий, очень удобно когда весь флоу прописан последовательно и прочитать его можно без прыжков между файлами. А еще веселее становится после того, как через месяц после устранения дублирования вдруг оказывается что «некоторые штуки то оказывается были просто похожи но не являлись дублированием». И разворачивать всю эту штуку уже не так приятно. Та же история и с «поведениями» для Yii. Они конечно здорово и весело, но при определенном масштабе создают сложности для понимания кода.
Так что перед тем как устранять дублирование такими примитивными механизмами как трейты, следует задуматься:
https://habrahabr.ru/post/326960/#comment_10200012
Очень старая (2005 год) статья от Петра Зайцева (Percona) о конвертировании MyISAM таблиц в InnoDB
http://peter-zaitsev.livejournal.com/6154.html
Are there any performance benefits with Innodb tables when ? Yes there are, even if you forget about support
of transactions, row level locking and consistent reads. Innodb tables are clustered by PRIMARY KEY. This
means a lot of overhead for writes but PRIMARY KEY reads could be twice as fast compared to MyISAM tables for
disk bound loads. To retrieve the row by PRIMARY KEY MyISAM normally needs 2 reads, while Innodb only one.
If you have table small enough to fit in memory there are more benefits — Innodb caches both data and index
in memory, while MyISAM caches only index, using OS cache for caching data, which means Innodb can have much
better performance especially for Random IO (joins), moreover Innodb builds hash indexes in the buffer pool based on
BTREE indexes, which speeds up lookups even further. This all makes Innodb up to 3 times faster for some heavy join
queries, when data is in memory. Even if tables do not fit in memory you get asynchronous read-ahead and asynchronous
dirty buffers flush which is helpful in some cases.
Репликация из MySQL в Tarantool
Интересный кейс использования Tarantool вместо MySQL-сервера. Репликатор имеет свои ограничения и особенности, надеемся он продолжит развиваться. Видео
Запомнилось: в MySQL 5.7 нет и не будет режима handler socket
Кратко описана история создания и развития MySQL-сревера. Покупка SUN-ом, далее покупка Oracle.
Рассматриваются актуальные на тот момент (2011 год) форки MySQL. Более полное описание форков
Uber Причины перехода с Postgres на MySQL
Перевод довольно нашумевшей статьи.
Запомнилось: MySQL в индексе хранит ссылку на pk таблички (id), postgres в индексе хранит адрес на диске
Небольшая выжимка от нашей команды об изменениях в версии 5.7 на основе двух докладов.
Обязательно посмотрите сами доклады!
MyISAM writes are buffered in OS cache so in case of crash some unknown portion of them is lost.
http://peter-zaitsev.livejournal.com/2326.html