The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз СУБД PostgreSQL 12

03.10.2019 19:58

После года разработки опубликована новая стабильная ветка СУБД PostgreSQL 12. Обновления для новой ветки будут выходить в течение пяти лет до ноября 2024 года.

Основные новшества:

  • Добавлена поддержка "генерируемых столбцов", значение которых вычисляется на основе выражения, охватывающего значения других столбцов в той же таблице (аналог представлений, но для отдельных столбцов). Генерируемые столбцы могут быть двух типов - хранимые и виртуальные. В первом случае значение вычисляется в момент добавления или изменения данных, а во втором - при каждом чтении на основе текущего состояния других столбцов. В настоящее время в PostgreSQL поддерживаются только хранимые генерируемые столбцы;
  • Добавлена возможность выполнения запросов данных из JSON-документов при помощи Path-выражений, напоминающих XPath и определённых в стандарте SQL/JSON. Для повышения эффективности обработки подобных выражений для документов, хранимых в формате JSONB, применяются существующие механизмы индексирования;
  • Включено по умолчанию применение JIT-компилятора (Just-in-Time) на основе наработок LLVM для ускорения выполнения некоторых выражений в процессе обработки SQL-запроса. Например, JIT применим для ускорения выполнения выражений внутри блоков "WHERE", в выходных списках (target lists), агрегатных выражениях и некоторых внутренних операциях;
  • Существенно увеличена производительность индексирования. Индексы B-tree оптимизированы для работы в условиях частого изменения индексов - в тестах TPC-C наблюдается общее повышение производительности и снижение потребления дискового пространства в среднем на 40%. Снижены накладные расходы при генерации лога упреждающей записи (WAL) для типов индексов GiST, GIN и SP-GiST. Для GiST добавлена возможность создания индексов-обёрток (через выражение INCLUDE), включающих дополнительные столбцы. В операции CREATE STATISTICS обеспечена поддержка статистики о наиболее типичных значениях (MCV), позволяющей генерировать более оптимальные планы запросов при использовании неравномерно распределенных столбцов;
  • Реализация секционирования (партицирования) оптимизирована для запросов, охватывающих таблицы с тысячами секций, но ограничивающихся выборкой ограниченного подмножества данных. Увеличена производительность добавления данных в секционированные таблицы при помощи операций INSERT и COPY, а также обеспечена возможность добавления новых секций через "ALTER TABLE ATTACH PARTITION" без блокировки выполнения запросов;
  • Добавлена поддержка автоматического inline-развёртывания обобщённых табличных выражений (Common Table Expression, CTE), позволяющих использовать временные именованные результирующие наборы, задаваемые при помощи оператора WITH. Inline-развёртывание позволяет повысить производительность большинства запросов, но пока применяется только для нерекурсивных CTE;
  • Добавлена поддержка недетерминированных свойств локали "Collation", позволяющего задавать правила сортировки и методы сопоставления с учётом смысла символов (например, при сортировке цифровых значений учитывается наличие минуса и точки перед числом и разные виды написания, а при сравнении не принимается во внимание регистр символов и наличие знака ударения);
  • Добавлена поддержка многофакторной аутентификации клиента, при которой в pg_hba.conf для аутентификации можно комбинировать аутентификацию по SSL-сертификату (clientcert=verify-full) c дополнительным методом аутентификации, таким как scram-sha-256;
  • Добавлена поддержка шифрования канала связи при аутентификации через GSSAPI, как на стороне клиента, так и на стороне сервера;
  • Добавлена поддержка определения LDAP-серверов на основе записей "DNS SRV", если PostgreSQL собран с OpenLDAP;
  • Добавлена операция "REINDEX CONCURRENTLY" для перестроения индексов без блокировки операций записи в индекс;
  • Добавлена команда pg_checksums, позволяющая для существующей БД включать и выключать проверку контрольных сумм страниц данных (ранее данная операция поддерживалась только во время инициализации БД);
  • Обеспечен вывод индикатора прогресса выполнения операций CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL и pg_checksums;
  • Добавлена команда "CREATE ACCESS METHOD" для подключения обработчиков новых методов хранения таблиц, оптимизированных для различных специфичных задач. В настоящее время единственным встроенным методом доступа к таблицам является "heap";
  • Файл конфигурации recovery.conf объединён с postgresql.conf. В качестве индикаторов перехода в состояние восстановления после сбоя теперь следует использовать файлы recovery.signal и standby.signal.


  1. Главная ссылка к новости (https://www.postgresql.org/abo...)
  2. OpenNews: Обновление PostgreSQL с устранением серьёзных проблем с fsync
  3. OpenNews: Microsoft поглотил компанию Citus, развивающую СУБД на базе PostgreSQL
  4. OpenNews: Выпуск PipelineDB 1.0.0, надстройки к PostgreSQL для непрерывной обработки потоков
  5. OpenNews: Релиз СУБД PostgreSQL 11
  6. OpenNews: Для PostgreSQL подготовлено расширение TopN
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/51604-postgresql
Ключевые слова: postgresql
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (92) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.4, Печаль (?), 21:14, 03/10/2019 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –5 +/
     

     ....ответы скрыты (2)

  • 1.5, Аноним (5), 21:50, 03/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    Что лучше, сабж или mysql?
     
     
  • 2.6, ОЛЕГ (?), 21:56, 03/10/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Сильно от задач
    Мы сочетаем его с кликхаусом
     
  • 2.8, Аноним (8), 21:58, 03/10/2019 [^] [^^] [^^^] [ответить]  
  • +22 +/
    Можно сказать, что постгрэс самый-самый.
     
     
  • 3.41, Аноним (32), 12:45, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В каких-то случаях самый хороший, в каких-то самый плохой.
     
     
  • 4.74, EuPhobos (ok), 07:12, 07/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А можно пример, в каком psql "самый плохой"? Что-то не приходит ничего на ум в качестве такого примера.
     
  • 2.14, Fooser (?), 23:47, 03/10/2019 [^] [^^] [^^^] [ответить]  
  • +19 +/
    Сабж более навороченный, если привыкнете к сабжу то мускель покажется вам игрушкой.
     
     
  • 3.22, Майор (??), 05:04, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Так ведь хранилище постгри нефига не лучше TokuDB и MyRocks... Еще и WAL доисторический.
    Вместо пула потоков, тред на каждый чих!
     
     
  • 4.39, имя (ok), 12:30, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    MyRocks, как и прочие хранилки на LSM-деревьях, страдают от сильного write amplification, и его превосходство над «доисторическим» WAL совсем не очевидно.

    Куда интереснее было бы посмотреть на многопользовательскую SQL-базу на базе LMDB, по аналогии с SQLightning для SQLite, тем более что сам LMDB часто сравнивают с RocksDB не в пользу последнего.

     
     
  • 5.43, Аноним (43), 13:06, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    MyRocks Есть форк от хитечи и Самсунга, которые не страдают amplification.

    Самсунг ещё сделал SSD с аппаратной NoSQL на базе rocksdb.

     
     
  • 6.44, Аноним (43), 13:09, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    https://blocksandfiles.com/2019/09/05/samsungs-potentially-groundbreaking-keyv

    https://www.anandtech.com/show/14839/samsung-announces-standardscompliant-keyv

     
  • 3.23, Анонимный прохожий (?), 07:13, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Сабж более навороченный, если привыкнете к сабжу то мускель покажется вам игрушкой.

    Или залепухой для прачечной :-)

     
  • 3.25, Сабж (?), 08:05, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    За ранее прошу прощения за ламерский вопрос, "Сабж" - это что за СУБД?
    Спасибо за ранее.
     
     
  • 4.33, xxxxxxxxx (?), 10:05, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    "Сабж" - оно же "subject" - оно же "тема", те о чем идет речь
     
  • 4.34, xxxxxxxxx (?), 10:08, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +9 +/
    И насчет "за ранее" см. тут:
    https://russkiiyazyk.ru/orfografiya/pravopisanie/zaranee-kak-pishetsya.html
     
  • 2.21, Аноним (-), 04:31, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Также у mysql есть свои плюсы. Например, запуститься на любом урезаном vps, нет тормозов при внезапном срабатывании автовакум, некоторые другие (спорные) плюсы.
    Также, совершенно согласен, что pgsql имеет свои няшки.
     
     
  • 3.26, Аноним (26), 08:24, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    тся, вакуум
     
     
  • 4.38, wertklop (?), 11:53, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    не, тут правильно пишется, запуститься, с мягким знаком
     
     
  • 5.45, имя_ (?), 13:15, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    тогда было бы неплохо обозначать ударение
     
  • 5.63, Аноним (63), 13:20, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    нет, не правильно: что делает? - запускается. мягкого знака нет.
     
     
  • 6.72, Аноним (72), 15:29, 06/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    имелось ввиду "прийти в запущение" (упадок, заброшенность, запущенность). Причем в данном предложении ("...запуститься...") БД это сделает как-то сама, своими силами :)
     
  • 6.87, Аноним (87), 05:27, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Что сделать? Запуститься
     
  • 4.42, JL2001 (ok), 13:03, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > тся, вакуум

    "плюс мусикла - запуститься на чайнике"

     
  • 3.36, имя_ (?), 11:23, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    плюшки, ёпт
     
  • 3.52, Аноним (52), 15:43, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    У Постгреса, к сожалению, такие настройки по умолчанию что он тоже запустится на любом урезанном vps. А тормоза вакуума - это всё сказки от неумеющих настраивать.
     
  • 3.66, zzz (??), 14:33, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Стоковые параметры постгри позволяют запустить его хоть на чайнике, не то, что vps.
     
  • 3.67, FSA (??), 18:46, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Например, запуститься на любом урезаном vps

    Как бы сомнительно. Запуститься на таких VPS может и то и другое. Вопрос только какую нагрузку выдержат. У меня база PostgreSQL умного дома на малинке 3B нормально крутится несколько месяцев. Собираются данные с трёх датчиков температуры и ещё по мелочи. Нагрузки на "сервер" не будет особой, так что выше крыши малины с гигом памяти. Ещё в интернете есть свой сервер. Там 2 ГБ оперативки. Крутится кроме MySQL и PostgreSQL для сайтов ещё и Matrix Synapse. Последний выжрал треть памяти оперативной, но сервер ведёт себя нормально. Опять таки гигантской нагрузки нет. Куда ещё урезать VPS я не знаю. И так копейки стоит. В РФ ещё дешевле можно взять, но там проблемы со связностью.

     
  • 2.30, Аноним (30), 08:47, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сабж рекомендован в Джанго для новых проектов. Так что выбора у некоторых и нет.
     
     
  • 3.35, Анончик (?), 11:02, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Сабж + Джанго этот кейс выглядит слишком ассиметрично.
     
  • 3.37, имя_ (?), 11:24, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    где-то можно почитать о причине такого выбора?
     
     
  • 4.40, Аноним (32), 12:31, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Собственно разработчики фреймворка в своей книге её рекомендуют.

    If you're not tied to any legacy system and have the freedom to choose a database back-end, we recommend PostgreSQL, which achives a fine balance between cost, features, speed and stability. (The Definitive Guide to Django, p. 15)

     
     
  • 5.46, имя_ (?), 13:16, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    т.е. просто "потому что", жаль.
     
     
  • 6.47, aperon (ok), 13:35, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Django provides support for a number of data types which will only work with PostgreSQL. There is no fundamental reason why (for example) a contrib.mysql module does not exist, except that PostgreSQL has the richest feature set of the supported databases so its users have the most to gain.
    https://docs.djangoproject.com/en/2.2/ref/contrib/postgres/
     
     
  • 7.58, имя_ (?), 18:01, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    спасибо, теперь уже яснее
     
  • 6.49, Аноним (32), 14:56, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну собственно у разработчиков тоже были причины. И вон выше дали ссылку. К слову когда Django только вышел они рекомендовали Firebird SQL.
     
     
  • 7.59, имя_ (?), 18:02, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    насчет firebird что-то слышал, но меня джанго тогда слабо инетересовал
     
  • 2.54, Аноним (52), 15:48, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Я когда выбирал (вообще без знаний) первый раз базу, поставил mysql (уже задумавшись, что же ставить - mysql, марию или перкону), запустил, увидел что оно слушает 3306 без авторизации, и сразу снёс. Поставил постгрес и с тех пор ни разу не пожалел. Потом начитался статей и понял что в mysql многих фичей которые я в постгресе считаю за данное, нет и не предвидится.
     
     
  • 3.68, FSA (??), 18:53, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > увидел что оно слушает 3306 без авторизации, и сразу снёс

    Я сейчас тоже предпочитаю PostgreSQL, но как вы так умудрились поставить MySQL? Сейчас даже root нельзя зайти через TCP/IP во многих инсталляциях, только через Unix-сокет. Да и слушает она обычно на 127.0.0.1. Так что доступ извне ещё открыть надо.

     
  • 3.88, Аноним (87), 05:30, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ахаха, какое ламерство
     
  • 2.60, аноним_XXXXXX (?), 18:42, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Скажите,а в mysql, поддержку баз данных добавили или все так-же по старинке без нее ?
     
     
  • 3.64, KonstantinB (ok), 13:40, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Mysql 8 уже можно назвать базой данных.

    Гвозди, которыми системные словари были прибиты к MyISAM, отдрали, операции с ними теперь атомарные. CTE и Window functions завезли. Cost based оптимизатор завезли.

    Транзакции для DDL пока не работают, но это дело времени, для этого все уже есть.

     
     
  • 4.102, Gemorroj (ok), 14:04, 17/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    да, над 8 хорошо поработали.
    забавно как все пиарили марию, а по факту основную работу, а не рюшечки, сделали в ваниле в оракле.
     
  • 3.73, Аноним (73), 21:53, 06/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Оракл головного мозга - страшная болезнь.
     
  • 2.98, FSA (??), 07:43, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Что лучше, сабж или mysql?

    Если просто поиграться или поставить какой-нибудь phpbb, wordpress или ещё что-то, то проще MySQL.Да и phpMyAdmin для не специалистов в БД очень поможет.
    А если что-то серьёзное или с опытом работы с БД, то лучше PostgreSQL.

     
  • 2.99, Онаним (?), 16:24, 15/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Если в боевом режиме нужен MVCC тогда Слон. Иначе и Дельфина достаточно.
     

  • 1.10, Аноним (10), 22:24, 03/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    master-master репликацию так и не завезли?
     
     
  • 2.11, Dobro (?), 23:14, 03/10/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Продолжают обещать с 10й,пора забыть.
     
     
  • 3.19, Аноним (19), 03:30, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Вас кто-то обманул, никаких планов по реализации мультимастера в ядре postgres никогда не было и нет.
     
  • 2.12, Catwoolfii (ok), 23:20, 03/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    multimaster поможет превратить ваши данные в мусор.
     
     
  • 3.15, Your Anonymous (?), 00:02, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ответ в духе нет и не надо. Но ведь надо. Галера, кстати, справляется.
     
     
  • 4.20, Аноним (19), 03:31, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Так галера это не mysql, это стороннее решение, сторонних мультимастеров и для postgres несколько штук.
     
  • 2.16, Your Anonymous (?), 00:03, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Я уже устал ждать когда она появится. Пользовался BDR - не понравилось в итоге.
     
  • 2.24, kalter (?), 08:04, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    master-master есть в Slony, если очень хочется
     
  • 2.27, kde (??), 08:35, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кто мешает использовать логическую репликацию?
     
     
  • 3.31, Аноним (32), 09:44, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Часто, но не всегда, здравый смысл мешает её использовать.
     
     
  • 4.48, JL2001 (ok), 13:41, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Часто, но не всегда, здравый смысл мешает её использовать.

    раскройте свою мысль - какие проблемы с логической репликацией в PostgreSQL ?

     
     
  • 5.50, Аноним (32), 15:12, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если коротко:

    [CODE]

        - Tables must have the same full qualified name between publication and subscription.
        - Tables must have primary key or unique key
        - Mutual (bi-directional) Replication is not supported
        - Does not replicate schema/DDL
        - Does not replicate sequences
        - Does not replicate TRUNCATE
        - Does not replicate Large Objects
        - Subscriptions can have more columns or different order of columns, but the types and column names must match between Publication and Subscription.
        - Superuser privileges to add all tables
        - You cannot stream over to the same host (subscription will get locked).

    [/CODE]

     
  • 5.55, Аноним (55), 15:52, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не поддерживает восстановление после переключения источника на резерв (promote standby). Слоты необходимые для логической репликации не реплицируются на standby и на нём отсутствуют.

    Не поддерживает восстановление после переключения приёмника на резерв (promote standby). Сдвинуть слот назад, даже если нужные WAL есть — нельзя.

     
  • 5.56, Аноним (55), 15:55, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Все эти проблемы можно обойти или решить, но это требует как минимум разработки и программирования вспомогательной обвязки вокруг postgres, не все к этому готовы.
     
  • 2.53, Аноним (52), 15:45, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Какой нахрен master-master в sql? Для мультимастера подходят только специальные kv хранилища со специально навороченной для этого логикой, включающей прежде всего conflict resolution. И то не для каждого приложения это всё вообще подойдёт.
     
     
  • 3.62, anonymous (??), 21:04, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Microsoft SQL server ?
     
  • 2.57, Аноним (57), 16:51, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > master-master репликацию так и не завезли?

    Для этого же сделан PostgresXL
    Я кстати его тестировал на 3-х нодах. Работает, но нужно понимать его архитектуру

     
     
  • 3.61, Майор (??), 20:29, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> master-master репликацию так и не завезли?
    > Для этого же сделан PostgresXL
    > Я кстати его тестировал на 3-х нодах. Работает, но нужно понимать его
    > архитектуру

    Сотни форков pgsql достали

     
  • 2.65, KonstantinB (ok), 13:44, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Мультимастер для полноценного ACID - это сложная штука, от CAP-теоремы не спрячешься, чем-то придется жертвовать. Синхронный мультимастер - это большой тормоз, асинхронный - это eventual consistency со всеми следствиями. Если никак без этого жить нельзя - есть сторонние решения, построенные на logical streaming, тот же BDR.
     
  • 2.81, www2 (??), 16:19, 08/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Интересно, те, кто ждут мультимастер-синхронизацию в SQL-базе данных, он как это себе представляют.

    Вот есть два мастера, между ними есть связь и запросы, попавшие на любой из серверов, выполняются на обоих.

    Вот опять есть два мастера, но между ними связь отвалилась. Часть запросов выполняются на одном мастере, часть - на другом. На одном сервере пишется, что у Васи на счету стало 10 рублей. На другом сервере пишется, что на счету у Васи стало 100 рублей. И вот связь между мастерами появляется. Информация с какого из серверов должна перезаписать изменения на другом? Сколько рублей должно быть на счету у Васи?

    Подобные вещи можно реализовать только при соответствующем проектировании приложения. Оно должно уметь определять, какая часть данных настоящее время может быть не доступна. Доступные же данные могут быть как подтверждёнными - просинхронизированными на все узлы, так и изменёнными только локально. На основе такой информации приложение должно делать выводы - насколько эта информация годится для определённого рода выводов.

     
     
  • 3.85, Аноним (85), 16:53, 08/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Никак не представляют. Они, как моя дочка, "Хочу конфет, но не хочу диатеза".
     
  • 3.89, Аноним (87), 05:35, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В этом узле изменения пишутся на Счету Васи а счет Пети синхронизируется. На другом узле изменения приходят на счету Пети , а счет Васи синхронизируется.

     
     
  • 4.93, Аноним (93), 05:24, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это шардинг, его можно на любой базе сделать, мультимастер для этого не нужен.
     
  • 2.82, Аноним (85), 16:35, 08/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Мастер-мастер куда-то "завести" в принципе невозможно. Потому что нужно прописывать, самому, логику разрешения коллизий в модели в этом случае.
     

  • 1.29, milinsky (ok), 08:47, 04/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Long Live PostgreSQL
     
  • 1.69, Цезй Родонович (?), 23:27, 05/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Пакеты и undo так и не завезли?
     
     
  • 2.70, Аноним (55), 05:20, 06/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А их везли?
     
     
  • 3.71, Цезй Родонович (?), 11:02, 06/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А чего там везти? Не обязательно как в оракле, можно одним текстом с модификаторами паблик приват. Как два пальца...
     
     
  • 4.94, Аноним (93), 05:27, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Если одним текстом, то это extenson и они есть.
     
  • 2.84, Аноним (85), 16:50, 08/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то вроде Сегментов отката уже с 11-той есть. Но, конечно, не в виде копии решения Оракла, где в Откат пишут инструкции как вернуть блок в исходное состояние, а просто теперь исторические записи не хранятся вместе с актуальными, а выкидываются в отдельную кучу. Как в МСе, приблизительно, если включить поддержку MVCC.
     
     
  • 3.97, Цезий Родонович (?), 09:48, 11/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы это использовали в реальности в "PostgreSQL 11"? или читали концепт на wiki?
     
     
  • 4.100, Онаним (?), 16:29, 15/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Я пробовал. Нормально работает. Но никаких плюсов я не увидел. Но и минусов тоже.
     

  • 1.75, лютый жабист__ (?), 12:59, 07/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Господа, насколько эффективно в Слоне работает пересечение индексов?

    Дано: гигантская таблица (за миллиард записей), по 20 столбцам созданы отдельные индексы. Кардинальность у каждого очень низкая. Но сочетание нескольких полей обычно имеет от 0 до 50 рядов. Комбинированные индексы делать нельзя.

    Слон будет быстро искать в таких условиях? За единицы секунд хотя бы.

     
     
  • 2.77, Аноним (77), 13:26, 07/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нормально, особенно если ему помочь: настроить статистику (пошаманить с настройками ANALYZE, где-нужно объявить зависимости между столбцами -- https://postgrespro.ru/docs/postgresql/11/sql-createstatistics).

    Желательно включить HugePages, увеличить shared_buffers, включить многопоточность (max_worker_processes, max_parallel_workers_per_gather, ...) можно добавить pg_prewarm чтобы не тратиться на излишнее IO,..

    Большая проблема постгреса -- очень слабая конфигурация по-умолчанию + очень сложная конфигурация для новичка.

    ---

    В некоторых случая может сильно помочь секционирование. Но не в случае с 20 индексами с большой вариативностью запросов.

     
     
  • 3.78, KonstantinB (ok), 15:40, 07/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Конфигурация сложна ровно настолько, насколько сложна сама СУБД. Зато ничего от пользователя не прячут.

    И, да, в mysql с необходимостью знать числовые значения innodb-констант ничем не проще.

     
  • 3.79, лютый жабист_ (?), 05:17, 08/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо!
     
  • 3.101, Онаним (?), 16:41, 15/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем для работы с денормализованными данными использовать реляционную СУБД? Она не для этого. Разбейте на 20-ть отношений, каждое проиндексируйте и join-ами. В МС можно было бы сразу кластерный индекс использовать, а в Слоне нужно создавать дополнительный индекс к отношению.
     
  • 2.83, Аноним (85), 16:46, 08/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В Слоне нет таблиц. Есть только куча. Кучу, в принципе, можно прозрачно секционировать, но, опять же, каждая секция будет кучей (индекс никогда не смешивается с данными).
    Дальше. Не буду интересоваться зачем так, но я правильно понял -- по каждому из 20 свойств создано по одному индексу ровно из одного свойства? Причём кардинальность каждого такого индекса мала. Но если сделать индекс по нескольким полям, то при миллиарде записей, кардинальность может достигать (аж!!!) 50-ти? 50-сят на миллиард, мягко скажем, тоже высокой кардинальностью не назовёшь.
    Если на шпинделях, то Слон сильно сольёт МСу и Ораклу; на ссд -- разница будет существенной, но не такой вопиющей. Но это моё частное мнение.
     
     
  • 3.90, лютый жабист__ (?), 08:21, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >Но если сделать индекс по нескольким полям, то при миллиарде записей, кардинальность может достигать 50-ти

    Нет. Поиск по нескольким полям выдаст 0-50 рядов из миллиарда записей.
    Составной индекс по нескольким полям делаешь - ищет за милисекунды.
    Но все комбинации полей составными индексами не закроешь.
    Сейчас всё в монге, там, похоже вообще крутилок нет на эту тему.
    Интересуюсь, у кого есть шансы задачу решить.

    Орацле обычно без приставленного к нему седовласого ДБА с ворохом сертификатов работает очень фигово. Слон, видимо, посередине...

     
     
  • 4.91, Аноним (85), 17:09, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, настройка Слона значительно менее предсказуемый процесс, чем настройка Оракла. Хотя и тот и другой настраивать не сказал бы, что сложно. Просто консультирование по Ораклу отдельный бизнес, со своими маркетинговыми мифами-ужастиками. А так, Оракл прост и понятен. Куда понятней, чем тот же МС.
     
  • 4.92, Аноним (85), 17:13, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Задача тривиальная. Всё в итоге упрётся в эффективность алгоритмов подлежащей системы хранения, а не в конкретную СУБД.
     
  • 2.95, Аноним (52), 21:45, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Может заюзать более подходящий индекс, типа bloom?
     

  • 1.80, Андрей (??), 11:47, 08/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Подведите, пожалуйста, libpq под С-стандарт.
    Например, сделать pq_connect_db вместо PQconnectdb.
     
     
  • 2.86, Аноним (86), 01:46, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну напихайте пачку #define-ов, если так коробит :)
     
  • 2.96, Аноним (52), 21:46, 10/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    C-стандарт никак не регламентирует именование функций.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру