да, optane как первый и по сути всё ещё единственный серийный. Есть в виде вполне привычного nvme m.2 накопителя, есть в виде nvram модуля.
доступ к ячейкам памяти низкий по сравнению с nvme m2.0
nvme - это протокол
m.2 - физический формат девайса
все SSD независимо от протокола и физического исполнения сейчас NAND - кроме optane, который PCM (phase-change memory).
linux как ядро, на сколько я понял, готов к этому, но вот софт нет
nvram
речь совсем не о том, что это быстрее DRAM. Напротив, это вопрос как сделать что-то несильно (не на несколько порядков, как NAND) медленнее чем DRAM, но дешевле за гигабайт, можно поставить сильно больше и это будет более эффективно по потреблению энергии. DRAM дохрена энергии тратит впустую.
То есть сделать не 3 уровня памяти: очень медленный NAND постоянной памяти, быстрый DRAM энергозависимой памяти, более быстрый SRAM энергозависимой памяти, а добавить между NAND и DRAM промежуточный уровень NVRAM - несколько медленнее DRAM, но быстрее NAND и энергонезависимой памяти.
И формат модулей памяти у них потому, что m.2 не даёт столько линий PCI-E по сравнению с тем сколько можно прокачать один слот памяти.
И как раз потому что это отдельный уровень производительности, нужно чтобы софт об этом знал. Эвристики традиционно не могут нормально угадывать, к каким фрагментам нужен интенсивный доступ, а что может подождать.
А NAND медленные. Не по полосе, а по латентности. С точки зрения CPU даже DRAM дико медленная. Потому на CPU и и становится всё больше и больше очень дорогой SRAM.
смотря что именно замерять. Если латентность - то на порядки различие будет. Десятки наносекунд у DDR против микросекунд у лучших NAND на выполнение операции. А ведь с точки зрения CPU любая DRAM и так дико медленная именно по латентности.
execute ... using не добавляет кавычки, но и quote не требует и не подставляет параметры в текст запроса. Он именно передаёт параметры как есть подобно prepared statement api, отдельно от текста запроса.
Ler Den, среднюю температуру Луны и погоду на Марсе можете посмотреть в википедии и справочниках. А если вас интересует потребление конкретной системы - то это необходимо замерять физически оборудованием. Хотя бы бытовым ваттметром. Софт в жизни не угадает, даёт ваш блок питания 70% кпд или 87% или вообще 50%, а это уже только тут разброс результатов огромный будет.
Сергей Горностаев, не, ну почему сразу "не уважающая"? В стандарте просто нет join в update, никакого, только голый UPDATE одной таблицы. from в postgresql такое же собственное расширение синтаксиса как и returning.
А если проще задать вопрос, в каких случаях стоит заморачиваться с репликацией данных и pgpool?
pgpool - только если хотите чтобы было больно в эксплуатации. В общем не надо pgpool.
репликация через streaming replication - думаю мне хватит одной руки пересчитать базы (из нескольких сотен) где у production базы *нет* реплики. Хотя бы один hot standby нужен для любой важной базы.
Сергей Горностаев, fun fact: обычно поля timestamp форматирует именно сам postgresql, а результат так и пересылается текстом. Исключение: если клиент намеренно запросил передачу ответа в бинарном виде, тогда пересылается сырой int64 и это уже задача клиента корректно воспроизвести формат хранения.
от 2.17 до 2.27... хм, не помню, надо проверять. Но вероятность высокая - мне помнится в районе обновления ubuntu 14.04->16.04 тоже нужно было часть индексов перестраивать
вопрос-то останется "что с образом диска делать дальше". С зеркалом конечно проще, найти только offset начала файловой системы. Но это если там простое глупое зеркало, а не что-нибудь новомодное.
Всё равно для начала нужно понимать, с чем именно работаем.
nvme - это протокол
m.2 - физический формат девайса
все SSD независимо от протокола и физического исполнения сейчас NAND - кроме optane, который PCM (phase-change memory).