Задать вопрос
  • MySQL или PostgreSQL при геозапросах?

    @Fixid
    PostgreSQL + PostGis (на этой связке работает OSM, очень быстрая и надежная система)
    С MySQL всегда можно перейти на PostgreSQL, но обратно уже сложнее. Особенно если используются фичи PostgreSQL.
    Лучше начинать сразу с PostgreSQL
    Ответ написан
    1 комментарий
  • Добавление и обновление записей через Insert Into?

    Melkij
    @Melkij
    PostgreSQL DBA
    С insert или update по результату select (к слову, совершенно ненужному запросу) вы вляпываетесь в race condition
    on conflict специально сделан для нормальной сериализации происходящего и использоваться и должен. Другие способы сериализации race condition из времён до on conflict производительность просаживают по вполне очевидным причинам.
    Ответ написан
    2 комментария
  • Как избавится от страха работы и прохождения собеседования?

    @bigsnake
    скажите это нормально :D

    Это нормально

    хочу найти первую работу

    Джунов обычно оптом берут, пачками, кто-то справится, кто-то нет, потери невелики, там уже разберутся

    нужно будет делать для продакшена

    Об этом ты подумаешь завтра когда тебя возьмут, не засоряй пока мозг себе ))

    на данный момент знаю нормально

    Прекрасные знания, иди и ничего не бойся
    Ответ написан
    3 комментария
  • Как тестировать приложение, способы и подходы?

    Nipheris
    @Nipheris Куратор тега C++
    проверка "правильности/соответсвия" возвращаемых данных определенными функциями

    Это есть модульное тестирование, см. Catch.
    проверка на используемую память(сколько используется, было использованно за весь цикл существования приложения)

    Погуглите "memory profiler" (например, valgrind.org/docs/manual/ms-manual.html ). Я обычно в Студии профайлю, с автоматизацией этого процесса пока не сталкивался, но думаю возможно.
    проверка правильности порядка записи в бд

    проверка того что в сеть уходят данные которые ожидаются от программы

    Тут вам нужно замокать клиента к бд и сетевой сокет/поток (в зависимости от того как это всё реализовано, без подробностей сложно советовать), и вместо реальной отправки данных/записи в базу делать нужные вам проверки.
    Ответ написан
    Комментировать
  • Насколько правильно использовать json для хранения данных в базе данных?

    Melkij
    @Melkij
    PostgreSQL DBA
    json нужно использовать если у вам надо хранить json и сохранять полностью его форматирование. Форматирование именно самого json с пробелами, табами и переносами строк - т.е. как текст, но с валидацией что здесь именно json.
    если вам нужно хранить json - лучше использовать jsonb
    А для описанной задачи и просто массива достаточно, bigint[] или text[]. Контактные данные для заказа уместны именно в заказе, а по jsonb и массивам возможно вполне внятно и искать в том числе
    Ответ написан
    Комментировать
  • C чего новичку начать изучение SQL?

    @AVKor
    На данный момент по базам данных знаний абсолютно нет.

    1. Connolly, Thomas & Begg, Carolyn. Database Systems: A Practical Approach to Design, Implementation, and Management.
    2. Kroenke, David M. & Auer, David J. Database Processing.
    Ответ написан
    Комментировать
  • Можно ли и как делать запросы между БД PostgreSQL на разных серверах?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Можно, называется foreign wrapper.
    Ответ написан
    2 комментария
  • Что делать с полями специфичными для Postgre если он только в облаке а локально отладка идет в Sqlite?

    @deliro
    Никак. Ставь постгрю локально.

    И ArrayField — не самое страшное, с чем ты столкнёшься, разрабатывая на одной БД, и деплоя на другую.
    Ответ написан
    Комментировать
  • Куда идти стажироваться самоучке по C/C++?

    mashletov
    @mashletov
    Math.random()
    Судя потому, что он сам не нашел ответа на свой вопрос методом элементарного гугления, и ему лень даже самому на форуме спросить, а не через друга (тебя), то, да, — дно.
    Ответ написан
    2 комментария
  • Какой язык выбрать для базы данных?

    mannaro
    @mannaro
    Умею профессионально гуглить
    SQL
    Ответ написан
    Комментировать
  • Как хранить базу postgres 8.4 в памяти?

    Melkij
    @Melkij
    PostgreSQL DBA
    Закупаете железку с 256гб ram и выше. Ставите shared_buffers в 200гб. Всё. Со временем все данные к каким обращались будут подтянуты в память. А поскольку буферов больше чем база - база их не будет вытеснять из памяти.

    Можно было бы воспользоваться pg_prewarm для более удобного подтягивания данных в память после старта СУБД - да у вас какая-то ископаемая, давно уже не поддерживаемая версия. pg_prewarm для такой древности нет. (если, конечно, вы не опечатались в 9.4)
    Для такого объёма shared_buffers желательно huge pages сделать по объёму на пару процентов больше чем shared_buffers. А вот как - может для 8.4 и никак, я не настолько старый DBA, не знаю.
    Ответ написан
    4 комментария
  • Зачем работать с базой ORACLE только через процедуры?

    @Sumor
    Если проект простой, то конечно удобнее из клиентского приложения вызывать SELECT, UPDATE и INSERT.
    Но как только проект становится достаточно большим, или накладываются дополнительные ограничения на безопасность, то удобнее вынести часть бизнес-логики на сервер. В данном случае - на хранимые процедуры.
    Плюсы следующие:
    1. Хранимые процедуры и клиентское приложения могут писать разные люди (команды), с разной подготовкой. Хранимые процедуры - боле опытные, клиентское приложение - более неопытные.
    2. Хранимые процедуры могут обеспечить дополнительный уровень безопасности. Часть проверочной логики может быть реализовано на сервере. И клиентское ПО даже изменив или подделав вызовы не получит не принадлежащие им данные. Если вся логика приложения реализована на клиенте, то злоумышленник может переписать запросы и получить не принадлежащие ему данные. Помимо этого от клиентского ПО скрывается структура БД.
    3. Хранимые процедуры, как неинтерактивные модули, проще отлаживать и тестировать в автоматическом режиме.
    4. Написанные хранимки меньше, чем клиентское ПО, подвержены изменениям в ходе эволюции и активно повторно используются в разных клиентских модулях.
    Ответ написан
    Комментировать
  • Почему it конференции такие дорогие?

    dom1n1k
    @dom1n1k
    Я подозреваю, это в первую очередь такой фильтр для публики. Орги просто хотят отсеять студентов и привлечь представителей серьезных компаний и так далее. Ну то есть высокая цена в первую очередь задаёт формат. А уж потом окупает фуршет и аренду зала. Хотя пригласить серьезного докладчика - тоже недешевое удовольствие.
    Ответ написан
    1 комментарий
  • Как стать IOS разработчиком без продуктов Apple?

    GavriKos
    @GavriKos
    Никак.
    Ответ написан
    Комментировать
  • На чем делать кластер postgres?

    Melkij
    @Melkij
    PostgreSQL DBA
    Для начала задаёте себе и отвечаете на вопрос "зачем?"
    Потому что геморроя, проблем и граблей очень много. Бонусы - сомнительны. Основной пласт проблем - как решить, что пора переключать мастер на другой хост, а не вернётся старый мастер из-за недолгого (а то и вовсе планового) лага сети? Это организационный вопрос и автоматикой он не решается. Самое счастье с автоматикой - схлопотать split brain и получить на этом долгий и увлекательный квест "как бы разъехавшиеся данные теперь подружить воедино"
    мастер-мастер = головная боль перманентно. Потому что фундаментальная CAP теорема, которую никто пока внятно не решил. Или у вас проблемы с консистентностью или с медленной из-за распределённых транзакций записью.

    Автоматика для failover'а, которую я не придумал как спровоцировать на split brain - patroni. Вроде работает. Но в продакшене видел пока только однажды.

    Процедуры (да и вообще запросы) имеет смысл делить:
    - пишущие. Любые, какие что-то пишут в базе (включая create temporary table). Это должны роутиться строго на мастер
    - читающие. Идут на реплики
    - долго читающие. Идут на отдельные slow реплики, которые могут заметно отставать от мастера, но которые не будут мешать деятельности проекта
    Ответ написан
    4 комментария
  • Какую СУБД взять для хранения данных пользователей?

    2ord
    @2ord
    По-моему проще хранить всё в одной СУБД. И MySQL (5.7+) и PostgreSQL (9.2+) поддерживают тип хранения JSON и позволяют искать по их ключам.
    Ответ написан
    2 комментария
  • Непонимание родителей, по поводу моей работы. Как объяснить?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Более-менее достойное доказательство для родителей - когда вы перейдете на самообеспечение и перестанете быть зависимым.
    В идеале - съемная квартира и самостоятельное пропитание/.
    Обычно именно в этот момент оказывается, что взрослые не такие уж и глупые, ибо много бытовых проблем на вас набрасываются, забирая время, силы и здоровье. Пожил не по расписанию, впроголодь - получи кучу болячек, в лучшем случае простуду, в худшем - кучу хронических. Тут уже и работать будет некогда.

    А до этого - старайтесь просто не ссориться. В подавляющем большинстве случаев то, что родители сделали для вас - это гораздо больше, чем то, что вы сделаете для них. Это никак не меняет то, что в чем-то у вас могут не совпадать мнения.
    Ответ написан
    5 комментариев
  • Чем бекапить все базы Postgres без прерывания доступа к сервису?

    Melkij
    @Melkij
    PostgreSQL DBA
    pg_basebackup
    Сделает консистентную физическую копию базы. Соответственно размер бекапа примерно равен размеру кластера postgresql + накопленные за время копирования WAL.
    Восстанавливаться элементарно запустив postgresql с указанием PGDATA в место где лежит результат pg_basebackup.
    Им обычно реплики поднимают.

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

    Все из штатной поставки Postgresql. И другие способы бекапа Postgresql в основе своей опираются на них же.
    Ответ написан
    1 комментарий
  • Для чего читать Таненбаума?

    @res2001
    Developer, ex-admin
    Для программирования сетей читайте Стивенса "Unix. Разработка сетевых приложений" 2007 год. Книга не новая, но лучшего описания программирования сетей я не встречал.
    Ответ написан
    Комментировать
  • Я хочу изучить C++ первым ЯПом(языком программирования), какие курсы, книги, ресурсы посоветуете?

    @asd111
    На выбор Lippman C++ Primer https://www.ozon.ru/context/detail/id/26348781/ либо Prata C++ Primer Plus https://www.ozon.ru/context/detail/id/34593932/
    Если знаете английский, то советую прочесть любую из этих книг на английском, потому что читать перевод книг по программированию местами неприятно из за кривого перевода.
    После этих книг желательно прочесть одну-две книги автора Scott Mayer "Effective modern C++" и "Effective STL" - книги не такие большие примерно 300 стр.
    Все книги есть в виде pdf где то в интернете.
    Главное после этого начните изучать алгоритмы и структуры данных и паттерны проектирования.
    Ответ написан
    Комментировать