#Serializable

2025-02-10

Гарантии видимости в распределённых хранилищах

Здравствуйте, меня зовут Дмитрий Карловский и я.. стараюсь сложные вещи рассказывать простым языком , а простые вещи — эзоповым. И часто оказывается так, что в процессе упрощения и структурирования, на самом видном месте обнаруживаются скелеты древних динозавров, присыпанные мутными формулировками так, что долгие годы их никто не замечает . Что ж, если вы хотите окончательно разобраться в уровнях изоляции транзакций и гарантиях порядка операций , до давайте копать вместе. Выпускайте эскалатор!

habr.com/ru/articles/881204/

#Monotonic #Causal #Sequential #Linearizable #Read_Uncommitted #Read_Committed #Repeatable_Read #Serializable #High_Availability #CRDT

2024-12-09

Кастомная сериализация структур в UE

Допустим, вы создали свою USTRUCT в C++ и хотите её сериализовать. Обычно, достаточно просто пометить нужные поля как SaveGame . Но вот проблема, для этого эти поля сами должны поддерживать сериализацию. К сожалению одна из наших переменных не поддерживает сериализацию. В моем случае, это структура FNonSerializableStruct . Из-за этого сериализуется только вторая структура, хоть мы и пометили SaveGame обе.

habr.com/ru/articles/865170/

#usrtuct #struct #serialize #serializable #структура #сериализация #unreal_engine #ue #структуры #анрил

2024-07-01

Стоит ли бояться serializable-транзакций больше, чем труднонаходимых багов?

В базах данных транзакции обладают свойствами ACID , где «I» означает изоляцию транзакций при одновременном (concurrent) выполнении. Наличие (serializable) изоляции гарантирует, что результат транзакций, выполненных параллельно, будет таким же, как если бы они были выполнены в некотором последовательном порядке. Сериализация выполнения транзакций не бесплатна с точки зрения производительности. Многие СУБД поддерживают более слабые уровни изоляции, оставляя за разработчиком выбор подходящего. В монолитных СУБД более слабый уровень изоляции часто используется по умолчанию. Так, в PostgreSQL и MySQL это «read committed». В распределённых СУБД чаще по умолчанию более строгие уровни: «repeatable read» в YugabyteDB и TiDB , «serializable» в CockroachDB и YDB . Слабые уровни изоляции могут быть причиной очень труднонаходимых багов. Причём эти баги могут вызвать уязвимости в безопасности. Из-за подобных багов уже были украдены миллионы долларов, в частности с биткоин-бирж. Мы расскажем о подобных случаях более детально в следующих разделах.

habr.com/ru/companies/ydb/arti

#ACID #serializable #bugs #ydb #postgres #postgresql #mysql #oracle #isolation #concurrency

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst