установок) • У каждого установленного приложения свой файл (может быть несколько) в приватном каталоге с данными где-то в /data/data/com.me.myapp/ • API — ContentProvider (не JDBC) • Внутри: SQL • Снаружи: данные адресуются по специальному URI (строка) • Позволяет делиться (шарить) данными между приложениями • Так работают адресная книга, история звонков, смс и т.п.
решений нет, но есть рекомендации и инструменты • Учитывать сценарии перегрузки как допустимые технически и предусматривать реакцию • Например, отказать в обслуживании части пользователей, но не повесить весь сервис • Искать «бутылочное горлышко» • Проектировать распределение нагрузки
Microsoft, … • Общего назначения: СУБД + аналитика + прочая инфраструктура • Специализированные: Google Analytics, Яндекс Метрика • Google firebase: облачная база для мобильных приложений (без прослойки в виде веб-приложения) • См также: Google Bigtable, ...
Mongo, … • Отдельные решения: Sphynx, Elastic search, ... • AWS elastic search (облачный вариант) • [?]… • Проблемы: сделать хотя бы «как в гугле» (искать словоформы, ранжирование по релевантности и контексту, ...)
back (vs NoSQL) • SQL JSON (в стандарте с 2016 года) • Расширяемая архитектура • Расширения — типы данных • Расширения — индексы • Расширения — языки для встраиваемых процедур • Обратить внимание: следить за коннектами (шаблон проектирования «сonnection pool» / модуль pg_bouncer)
из санкционных списков (самые вкусные клиенты), Майкрософт на подходе • Постгрес Профешшионал (Олег Бартунов, Иван Панченко, Федор Сигаев, Александр Коротков) — группа разработчиков Постгрес, компания зарегистрирована в России • Постгрес включен в список «отечественного ПО» • Есть версия, получившая сертификат ФСТЭК
разработке международного проекта PostgreSQL (индексы, полнотекстовый поиск, SQL JSON) • Да и PostgreSQL влияет на мировые тренды СУБД (SQL JSON) • Для преподавателей: образовательные программы, книги, темы проектов • Для студентов: темы проектов, стажировка, проекты Google summer of code
многоэтажные, но их не нужно бояться) • Учитывайте архитектуру СУБД: не все корректные запросы работают одинаково быстро • Изучайте шаблоны проектирования (путь из кодера в архитекторы) • ORM — не панацея (использовать можно, но осторожно, желательно иметь возможность обойти) • Встроенные процедуры — у Постгреса можно на разных языках, в т.ч. на JavaScript (использовать можно, но тоже осторожно) • Внутренняя кухня: язык Си, индексы, математика, ИИ