Задать вопрос
Ответы пользователя по тегу MySQL
  • Вопросы по быстродействию + Какую базу лучше всего использовать?

    akalend
    @akalend
    программирую
    мы используем Кассандру для хранения статистики
    ее достоинства - хорошо масштабируема, отказоустойчива
    проста в использовании именно в целях статистики
    быстра на запись, что очень важно для разных партнерских и мизерных программ
    недостатки - жрет много места (больше чем прогнозировали)
    нагрузка на сеть более 1,5М в сутки

    если у вас нагрузка в разы меньше, то достаточно и РСУБД (мускул, посгрес), но если соизмерима, то рано или поздно вы упретесь в проблему масштабирования
    Ответ написан
    Комментировать
  • Безопасно ли открывать порт mysql в мир?

    akalend
    @akalend
    программирую
    я всегда пробрасываю пот через ssh, очень удобно и ни каких заморочек на сервере
    Ответ написан
    Комментировать
  • Как приступить к изучению баз данных на C++ в Ubuntu?

    akalend
    @akalend
    программирую
    Изучать специально какое либо АПИ на С++ для БД не нужно. Нужно иметь общее понятие про то, что такое сервер БД. Уметь составлять SQL запросы. Разбираться в оптимизации структур данных и тюнинге запросов. В моей практике приходилось иметь дело с разными БД (MSSql MySQL, PgSQL, VoltDb, Informix) и разными языками (С++, РНР, Python, Java ). При достаточной практике работы, любое АПИ к БД осваивается за два часа. По этому, моя рекомендация - выбираешь любую из популярных БД (MySQL,PgSQL) и начинаешь тренироваться в запросах. Выбор между MySQL и PgSQL - это религиозный спор. На начальном этапе - это абсолютно без разницы. Освоив одну БД, всегда можно быстро переключиться на другую и уже дальше осваивать её особенности.
    Ответ написан
    Комментировать
  • Как правильно спроектировать черный список?

    akalend
    @akalend
    программирую
    отношение Покупатель - Продавец является многие ко многим. Соответственно, для реализации отношения многие ко многим нужна будет отдельная таблица. Но таблицы черный список продавца и покупателя можно совместить:
    BlackList :
    -- Customer_id int (Заказчик, Покупатель)
    -- Seller_id int (Продавец)
    -- type bool ( b'0 - занес покупатель, b'1 - занес продавец),
    -- timestamp int (время занесения)
    Ответ написан
    Комментировать
  • Хранимые процедуры mySQL: преимущества и недостатки

    akalend
    @akalend
    программирую
    хм… использование хранимых процедур в БД, где и как попало ни есть хорошо.

    Был у нас один «архитектор», пришедший в WEB из Enterprise App, как-то в одном проекте мы впердолили 30% логики на хранимках. В итоге много ресурсов сожрал MySQL сервер, постоянный deadlock… отлаживать очень сложно, пришлось еще написать 15-20 % кода, для трейсинга выполнения хранимок…
    ну и работать стало все медленнее. Когда я про это рассказал разработчикам Мускуля, они долго смеялись над построением такой архитектуры…

    Так что, если использховать хранимки, то только в самых простейших случаях,
    Мускуль — вам не Оракл, хоть он теперь и есть его младший братик…

    в общем я бы сказал, что проект завалили, хотя он закрылся по причине финансирования (был кризис)…
    но архитектор все равно оказался дураком, хотя хотел сделать как лучше
    Ответ написан
    Комментировать
  • Как организовать ступенчатую модель комментирования а-ля "Хабр" в связке PHP + MySql?

    akalend
    @akalend
    программирую
    Рекурсия в БД (запрос в запросе) — это смерть проекту. Я вывожу все дерево одним запросом (по topic_id упорядочивая по времени) и строю дерево уже непосредственно в цикле обработки данных.
    Ответ написан
    Комментировать
  • Выборка данных из базы через MySQLi и подготовленные выражения?

    akalend
    @akalend
    программирую
    Новое расшрение дает новые возможности. Вы выбрали режим «подготавливаемый SQL», т.е. при первом выполнении компилится SQL выражение и в скомпилированном виде хранится в кеше SQL запросом. Это позволяет экономить время на компиляцию и увеличивает производительность.
    Если Вы изменили структуру таблицы, то Ваша откомпилированноое выражение уже не подойдет под новую структуру. Отсюда и ошибка. Вывод:
    либо задаем все поля, либо не используем «подготавливаемые выражения»
    Ответ написан
    Комментировать
  • Зеркалирование сайта / репликация MySQL?

    akalend
    @akalend
    программирую
    >Подскажите средства для автоматического переключения на зеркало.
    nginx/upstream — для WEB
    mysql_proxy
    Ответ написан
    4 комментария