1.1, Аноним (1), 23:28, 09/05/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Объясните мне, почему столько веток у него? А также вопрос к тем, кто давно юзает и разбирается, какие преимущества и в чем существенные отличия от MySQL/MariaDB? Благодарю заранее.
| |
|
2.3, хотел спросить (?), 00:34, 10/05/2019 [^] [^^] [^^^] [ответить]
| –11 +/– |
Посмотрите темку в нете почему Uber ушел с постгреса на мускл.
А вообще подбешивают таблицы большими буквами и т.д.
В посгресе дофига плагинов. Есть говновакуум.. в общем пока не попробуешь под свои задачи - непонтяно, что лучше он или MySQL. Я за последний.
| |
|
3.19, Аноним (19), 18:02, 10/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
Тащем-то в мыскле тоже наличествует свой вакуум, который время от времени тоже надо применять на движках сложнее MyISA.
| |
|
|
5.34, Аноним (19), 04:59, 11/05/2019 [^] [^^] [^^^] [ответить]
| +3 +/– |
OPTIMIZE TABLE table_name;
Не знал? Фанбои мыскля еще много чего про свой фетиш не знают. И прямую ложь про "нет вакуума" двадцать лет всем в уши дуют.
| |
|
4.26, zekefast (ok), 00:15, 11/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
Какой ещё MyISAM? Все давно используют InnoDB. А для тех кто всё же поленился пройти по указанным материалам от Uber-a и смежным докладам, даже русскоязычных докладчиков... У InnoDB табличный движок более хорошо приспособлен для определённых типов операций и постоен на UNDO таблице в которую помещаются данные колонок обновлённых записей на которые ещё есть открытые транзакции. Как следствие этого при закрытии транзакций и репликации данные можно просто удолить из этой специальной таблицы без порождения фрагментации данных в таблице на диске.
Движок PostgreSQL копирует обновлённую запись, а старую помечает, как удалённую. Новые транзакции пускаются на новую запись, а старая завершает обслуживание уже начатых транзакций. Как следствие, старые записи надо вычищать для чего и служит механизм VACUUM. Но при больших нагрузках и частых записях возникает проблема, так как процесс VACUUM более ресурсоёмкий чем чистка отдельной таблицы UNDO. Так же как следствие подобной организации работы с данными является разница в качестве работы репликации в этих базах и по сути невозможность master-master репликации для PostgreSQL. Если в 11 версии ничего не поменялось. Не смотрел её ещё.
In a nutshell...
| |
|
5.41, Дима (??), 17:35, 11/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
Спасибо посмеялся. InnoDB сразу данные удаляет? Только недавно делал на базе с ним чистку, так после OPTIMIZE TABLE база похудела на 50 гиг. Причём делался он ну очень, очень долго.
| |
|
6.44, zekefast (ok), 00:47, 12/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Спасибо посмеялся. InnoDB сразу данные удаляет? Только недавно делал на базе с
> ним чистку, так после OPTIMIZE TABLE база похудела на 50 гиг.
> Причём делался он ну очень, очень долго.
Я не говорил о моментальном удалении данных. Я говорил о том, что механизм UNDO более дешёвый с точки зрения производительности чем механизм VACUUM при котором надо сканить таблицы и что-то делать с фрагментацией данных.
| |
|
7.46, DeadMustdie2 (?), 11:19, 12/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
> механизм UNDO более дешёвый с точки зрения производительности чем механизм VACUUM
Сильно зависит от нагрузок.
UNDO в стиле Oracle, грубо говоря, удваивает объем выполняемой записи в журнал - потому что его надо тоже защищать REDO.
| |
|
8.48, КО (?), 10:34, 13/05/2019 [^] [^^] [^^^] [ответить] | +/– | Ну если грубо говоря, то учетверяет Пишем журнал- undo- журнал- обновленную зап... текст свёрнут, показать | |
|
|
10.58, КО (?), 09:36, 18/05/2019 [^] [^^] [^^^] [ответить] | +/– | Да Оптимистично только журнал Но это при условии что нагрузка нерегулярная и и... текст свёрнут, показать | |
|
|
|
7.47, Аноним (19), 16:52, 12/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
Тут такое дело, VACUUM в PG дело добровольное. И если его не дергать, то он ни на что не влияет. И получается так, что у мыскля с его UNDO производительность только съедается впустую. И да, если в мыскле применить аналог vacuum'а, то таблицы лочатся намертво.
| |
|
|
|
|
3.24, Аноним (24), 20:35, 10/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
>Посмотрите темку в нете почему Uber ушел с постгреса на мускл.
Если не просто посмотреть, а ещё и почитать, то можно увидеть, что Uber, фактически, реализует файловую систему поверх SQL, для чего MySQL внезапно подходит значительно лучше именно благодаря своей примитивности.
| |
|
2.6, Michael Shigorin (ok), 02:21, 10/05/2019 [^] [^^] [^^^] [ответить]
| –7 +/– |
Так скакать с ветки на ветку не все умеют одинаково хорошо.
PS: ушло в репозиторий sisyphus_e2k ещё утром 9 мая.
| |
|
3.9, Константавр (ok), 07:47, 10/05/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
А почему у них должны возникать проблемы? Оно настолько безоглядно разрабатывается, что даже в рамках девятой версии аж три ветки приходится поддерживать? Это базы данных-то? Офигеть.
| |
|
4.10, Аноним (10), 08:06, 10/05/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
До 10-й версии мажорными считались релизы 9.x минорными 9.x.y, как уже сказали, между мажорными версиями нет бинарной совместимости файлов, и весьма разный набор фич.
Начиная с 10-й версии схему привели к общепринятому виду, убрав лишнюю цифру из версии.
| |
4.20, Аноним (20), 19:03, 10/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
Непонятно что вас смущает в LTS, это же стандартная практика для серьёзного софта.
| |
|
|
2.8, Аноним (8), 02:53, 10/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
Потому что это секьюрити-фиксы. И потому что в постгресе нет бинарной совместимости между разными мажорными версиями.
| |
2.11, Аноним (10), 08:11, 10/05/2019 [^] [^^] [^^^] [ответить]
| +3 +/– |
Его главное отличие от MariaDB, MySQL, Percona - он один. Все чаще наблюдаю картину, когда компоненты работающие в рамках одного проекта ранее спокойно жили вместе на одной БД на мыскле, теперь могут начинать конфликтовать из-за того, что кто-то хочет фичи от MariaDB а кому-то подавай ортодоксальный MySQL от оракакеля. И чем дальше, тем разломы между фактически одной и той же СУБД только расширяются и углубляются. Что тут скажешь, фанбои мыскля сами выбрали свой путь страдания.
| |
|
3.28, KonstantinB (ok), 00:39, 11/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
Мне кажется, что Оракл специально реализует фичи из MariaDB с другим синтаксисом, чтобы усложнить миграцию.
| |
|
4.33, Аноним (19), 04:54, 11/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
Да это как-то однопенисно. Вот то, что они уже пилят две разные несовместимые клиентские библиотеки, вот это п....ц и Израиль.
| |
|
5.51, нах (?), 13:26, 14/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
ну так он вызван изначальной глупостью - пытаться вместо чистого форка сделать drop-in replacement. В результате совместимость все равно поломана, но вот удержать на одном хосте две разные - теперь неприемлемый геморрой (слава виртуалочкам, что уже низачем и не нужно)
| |
|
|
|
2.14, Аноним (14), 10:01, 10/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
> какие преимущества и в чем существенные отличия от MySQL/MariaDB?
В рамках данной дискуссии ваш вопрос относится скорее к категории религиозных.
Преимущества и недостатки имеют все перечисленные системы. Для админа локалхоста/конторы до 1000 юзеров вообще никакой разницы, кроме той, что MySQL везде, где заявлена/требуется БД всунут по умолчанию, а для использования вместо него PostgreSQL придется приложить некие минимальные дополнительные усилия.
| |
|
3.53, нах (?), 13:32, 14/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
бросьте, вот только что приходил товарисч, взгромоздивший на постгрез zabbix. В конторе до 1000 и никто его не заставлял.
(ну да, ну да - с его бесконечными поштучными insert, запросами where ... in ( ) , и "housekeeping" с delete where in - что ведет к интересным последствиям для постргезовой уродливой системы хранения, с ее "vacuum ненужен, ненужен, ненужнен!" )
А фэйловерили они ее побайтовым копированием, ага.
Не завидую пришедшему ему на смену.
| |
|
2.16, Ilya Indigo (ok), 12:49, 10/05/2019 [^] [^^] [^^^] [ответить]
| –6 +/– |
> почему столько веток у него?
Разрабам не лень их поддерживать, а может их спонсируют организации использующие сабж.
> какие преимущества и в чем существенные отличия от MySQL/MariaDB?
Отличий множество! Это инструменты для разных целей!
Для WEB-разработки (Как правило подобные вопросы интересуют в основном их, да и сам я интересовался для этого) ничем не лучше - только хуже!
Связка MariaDB + redis + Sphinx - уделывает по производительности чистый сабж!
А если СУБД используется по локалхосту через сокет единственным пользователем (стандартный сценарий WEB-приложений), то MariaDB и быстрее и функциональнее, благодаря возможности использовать разные движки (InnoDB и ROCKSDB) под разные задачи.
| |
|
3.25, Catwoolfii (ok), 21:14, 10/05/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
В 12-й релиз запилили API для новых типов storage engine, новые сторажи завезут скорее всего не раньше 13-го релиза (т.е. минимум года через 1.5).
| |
|
4.31, Ilya Indigo (ok), 00:59, 11/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
> В 12-й релиз запилили API для новых типов storage engine, новые сторажи
> завезут скорее всего не раньше 13-го релиза (т.е. минимум года через
> 1.5).
То есть ещё очень не скоро и ещё не известно как эти новые типы себя поведут и сколько времени нужно на их отладку!
| |
|
3.27, KonstantinB (ok), 00:36, 11/05/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
> ничем не лучше - только хуже!
Тю.
Вот у меня есть таблица users, в которой есть email и поле deleted_at, которое не null, если пользователь удален.
Я хочу сделать unique index на email, но только для тех юзеров, которые не удалены.
В постгресе я делаю индекс на email where deleted_at is null.
А как в мыскле? Да, есть костыль с persistent virtual column и индексом на него, но - в каком синтаксисе, MariaDB или Oracle mysql?
Или, скажем, у меня есть timestamp и я хочу сделать индекс только по году и месяцу и только для тех записей, где стоит определенный статус.
Или, скажем, я хочу сделать PRIMARY KEY uuid. Как, binary(16) и поворачиваем байтики? Очень удобно.
Или, скажем, у меня есть таблица со структурой, где большинство полей null, и я хочу эффективно искать по любой их комбинации. Или JSON, по внутрянке которого я хочу искать так же эффективно. В постгресе у меня есть GIN и GIST на выбор. В мыскле... мммм... ну, я могу формировать для каждого поля псевдо-слово типа _FIELD_A_IS_123_ и искать фуллтекстом, лол.
Да можно долго перечислять.
| |
|
4.30, Ilya Indigo (ok), 00:57, 11/05/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> ничем не лучше - только хуже!
> Тю.
> Вот у меня есть таблица users, в которой есть email и поле
> deleted_at, которое не null, если пользователь удален.
> Я хочу сделать unique index на email, но только для тех юзеров,
> которые не удалены.
> В постгресе я делаю индекс на email where deleted_at is null.
> А как в мыскле? Да, есть костыль с persistent virtual column и
> индексом на него, но - в каком синтаксисе, MariaDB или Oracle
> mysql?
Текстовые поля вообще не нужно индексировать без крайней на то необходимости, даже для уникальности.
В вашем примере будет просто каша из многих не уникальных email.
В любом случае, нужно сообщить пользователю, что email-занят, так что проверять уникальеность Нужно вручную и индекс UNIQUE тут не нужен!
> Или, скажем, у меня есть timestamp и я хочу сделать индекс только
> по году и месяцу и только для тех записей, где стоит
> определенный статус.
И что мешает индекс на timestamp и статус указать?
> Или, скажем, я хочу сделать PRIMARY KEY uuid. Как, binary(16) и поворачиваем
> байтики? Очень удобно.
Ни понял ни что это ни в чём удобство. Примери у меня всегда только числа!
> Или, скажем, у меня есть таблица со структурой, где большинство полей null,
> и я хочу эффективно искать по любой их комбинации. Или JSON,
> по внутрянке которого я хочу искать так же эффективно. В постгресе
> у меня есть GIN и GIST на выбор. В мыскле... мммм...
Снова не понял в чём тут проблема искать нулы?
> ну, я могу формировать для каждого поля псевдо-слово типа _FIELD_A_IS_123_ и
> искать фуллтекстом, лол.
И снова не понял зачем это нужно и что это даёт?
Если нужен полнотекстовый поиск, то сфинксом сабж по производительности и рядом не стоял!
> Да можно долго перечислять.
Нет, Ваших высранных из пальцев примеров мне больше не нужно.
| |
|
5.36, KonstantinB (ok), 11:38, 11/05/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ууууу...
Скажите, а где вы работаете?
Ну так, чтобы случайно туда не обратиться.
| |
|
|
3.32, GentooBoy (ok), 02:08, 11/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
Единственное в чем выигрывает Mysql и его подобия это простота администрирования. В PostgreSQL при помощи обилия ручек вы можете подогнать под свой workload. По итогу в тех проектах где админ говорит ну оно вот так работает, проще выбрать mysql, там где нет возможности впендюривать костыли и настраивать БД под задачу проще выбрать mysql, где программисты хотят просто хранить данные проще выбрать mysql и сказать ну вот оно так работает. Если вы инженер то должны понимать что забивать гвозди чугунной сковородкой гораздо удобнее чем микроскопом, но это не значит что микроскоп гавно. Просто вы используете его не по назначению.
| |
|
4.37, Ilya Indigo (ok), 12:07, 11/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Единственное в чем выигрывает Mysql и его подобия это простота
> администрирования. В PostgreSQL при помощи обилия ручек вы можете подогнать под
> свой workload. По итогу в тех проектах где админ говорит
> ну оно вот так работает, проще выбрать mysql, там где
> нет возможности впендюривать костыли и настраивать БД под задачу проще выбрать
> mysql, где программисты хотят просто хранить данные проще выбрать mysql
> и сказать ну вот оно так работает. Если вы инженер
> то должны понимать что забивать гвозди чугунной сковородкой гораздо удобнее чем
> микроскопом, но это не значит что микроскоп гавно. Просто вы используете
> его не по назначению.
MySQL также можно подогнать под нужды и настроить там что угодно, хоть кэш отключить, хоть дать подсказки оптимизатору запросов, хоть свой движок написать. Но Вы считаете, что каждый пользователь сабжа занимается его тонкой настройкой?
Впендюривание костылей, да ещё и на этапе разработки, когда не понятен характер нагрузки...
Нет уж, нормальный, в моём понимании, программист на такое не пойдёт!
Это сабж, со своим вакуумом, "вот так работает", которому программную реапликацию совсем недавно завезли. Судя по вашим упоминаниям костылей, самостоятельно она нормально и не работает.
В MySQL можно выбрать и движок, под конкрерную задачу, и тонко настроить выделение памяти, и просто надёжную настроить репликацию (master-slave) и управлять ей. При этом координально изменить работу СУБД Вы всё равно не можете и для максимальной эффективности, Вы должны понимать как она работает в том числе и как работает PostgreSQL!
Я не говорил что сабж какащка. Я говорил что он и MariaDB созданы для разных целей, и для вэб-приложений, где единственный пользователь через сокет и не нужны вообще хранимые процедуры, и есть возможность применить MariaDB+Redis+Sphinx сабж будет хуже, как по быстродействию, так и по надёжности, так и по сложности проектирования и сопровождения.
| |
4.40, KonstantinB (ok), 14:37, 11/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
Простота администрирования - в базовых случаях да. А тонкий тюнинг innodb - это отдельная уличная магия.
| |
|
5.54, нах (?), 13:35, 14/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
если тебе понадобился тонкий тюнинг innodb - посгрез на этом же железе на той же задаче уже давно бы лопнул или необратимо бы крэшнул базу.
Во всяком случае, если решать ее в лоб, игнорируя оптимизатор-планировщик и особенности хранения. Чего, понятное дело, ни один разработчик не любит, поскольку вся эта оптимизация для того и придумана, чтобы не заморачиваться особенностями конкретной субд.
| |
|
4.52, нах (?), 13:27, 14/05/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
> В PostgreSQL при помощи обилия ручек вы можете
кое-как добиться почти такой же производительности и надежности, как у mysql из коробки - если повезет с workload.
Поправил, не благодари.
| |
|
5.57, Аноним (57), 06:19, 15/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
> ... и надежности, как у mysql
Это в смысле когда база мыскля вдруг тупо впадает в задумчивость и оживает только после прохода
mysqlcheck -r -f ?
| |
|
|
|
2.21, Аноне (?), 19:43, 10/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
> почему столько веток у него?
потому что более энтерпрайзен, это как Oracle 11, 12, 2018...
| |
|
1.5, Аноним (4), 00:49, 10/05/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
И cтоит ли ради всех фич логической репликации апдейтиться с 9.6 до 10.8 ?
| |
|
2.12, Аноним (10), 08:12, 10/05/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Если все устраивает на текущей ветке, то смысле дергаться до осень 21-го года нет никакого.
| |
|
1.22, Аноне (?), 19:48, 10/05/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Ребят, а какие линуксовые среды разработки есть годные под него типа [PL]SQL Developer на Оракле?
| |
|
2.39, Аноне (?), 13:40, 11/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
В общем, загуглил, но хотел узнать чем здешние люди пользуются для разработки на PL.
| |
|
3.43, Аноним (14), 22:23, 11/05/2019 [^] [^^] [^^^] [ответить]
| +/– |
> но хотел узнать чем здешние люди пользуются для разработки на PL.
- А чем вы гладите тонкое женское белье?
- ??? ... А чем ВЫ гладите тонкое женское белье?
- Я глажу тонкое женское белье рукой...
| |
3.45, KonstantinB (ok), 06:14, 12/05/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Насчет оркела не знаю, но и для постгреса, и для мыскля мне более чем хватает database-плагина в IntelliJ IDEA. Оно есть и в виде отдельного продукта, DataGrip называется, попробуйте, может, там и с Ораклом все хорошо. Поддержка по крайней мере заявлена.
Да это все, конечно, проприетарщина, но раз у вас Оракл, думаю, не должно смущать.
| |
|
|
|