• Как быстро добавить новую колонку в большую таблицу (4млн+ строк)?

    Melkij
    @Melkij
    PostgreSQL DBA
    Обновитель до mysql 5.6. Там alter table появился уже неблокирующий: https://dev.mysql.com/doc/refman/5.6/en/innodb-onl...
    Ответ написан
    Комментировать
  • Стоит ли back-end разработчика перейти с sublime text на IDE phpstorm?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    Разница между IDE и текстовым редактором в том, что IDE работает с приложением и его исходным кодом, а тектсовый редактор - с текстом в отдельных файлах. IDE умеет code navigation, а саблайм лишь ущербный go to definition в пределах одного файла, считай - не умеет.
    Ответ написан
    Комментировать
  • Стоит ли back-end разработчика перейти с sublime text на IDE phpstorm?

    Ashlst
    @Ashlst
    Фанат эстетики и красивых решений.
    Будет.В шторме куча "плюшек",которые в саблайме надо или допиливать самому или долго настраивать,например,банальный автокомплит, работа с фтп, работа с контролем версий,работа с базами данных,переключение проектов, анализаторы кода, консоль..
    Рекомендую прочитать

    UPD: Единственное чего не хватает - мультикурсор,надеюсь разработчики внедрят эту фичу в новых версиях.
    Ответ написан
    2 комментария
  • Где и как держать большую базу данных?

    @lega
    Все равно не достаточно информации, что у вас там в json и как вы используете данные.

    Вот некоторые советы:
    1) Прочитайте про партицирование, возможно вашу колонку ownerID можно вообще выкинуть, и разбить все данные на таблицы owner1, owner2..., таким образом можно сэкономить на индексах и данных, + можно будет проще размазать базу по серверам (шардинг), да и работать так будет быстрее.
    2) Делайте архивирование json, это может уменьшить объем данных в 2..10 раз.
    3) Складывайте старые данные в архив, например месяц прошел, делайте результирующие отчеты, кеши и т.п. что может запросить клиент, а сами данные отправляйте в архив.
    4) Попробуйте другую бд: с postrgresql - можно использовать сжатый json по которому можно сделать индексы, таким образом ваши varchar'ы оптимизируются. с nosql/mongodb тоже есть плюсы, например 1 "запись" будет занимать 1 блок памяти, а не несколько как в sql базах, + тут выше скорость записи.

    Так же по принципу партицирования можно делать чанки данных, например если вам данные нужно выбирать по дням и владельцу, то по окончанию дня можете паковать данные в чанки: data, ownerID, archived_json. таким образом размер индексов может уменьшится в 100 раз, данные в 10..20 раз, + скорость получения данных может вырасти до 50х раз (был у меня подобный проект).

    Этими советами можно 1Тб "превратить" (например) в 10Гб - зависит от данных и использования.
    Ответ написан
    Комментировать