BufWriter<Master<'_>> – Telegram
BufWriter<Master<'_>>
105 subscribers
451 photos
28 videos
34 files
1.7K links
https://www.patreon.com/alxe_master

Видео/статьи. Конспект и мои вольные комментарии по инженерии. тут только то, что считаю полезным для себя или других =)

#os, #cloud, #rust, #golang, #python, #javaScript, #cpp, etc
Download Telegram
Forwarded from Хитрый Питон
Вышел релиз SQLAlchemy 2.0, получается довольно интересно:

- Полная поддержка типов: ORM-модели теперь можно делать полностью типизированные, результаты запросов тоже типизированы
- Теперь ORM-модели можно объявлять как MappedAsDataclass и в этом случае на выходе получатся полноценные датаклассы
- Для массовых добавлений/изменений вместо bulk_* методов теперь можно использовать insert-ы и update-ы, которые стали достаточно умными, чтобы делать это одним запросом и поддерживать .returning()
- C-расширения переписали на Cython и обещают повышение их производительности
- Поддержка нового psycopg3 (aka "просто psycopg")

Резюмируя - очень здорово, что в довольно "олдскульный" SQLAlchemy затащили поддержку всяких современных фич языка. Будет интересно попробовать это все.

Статья про изменения в 2.0 https://docs.sqlalchemy.org/en/20/changelog/whatsnew_20.html
QuickStart, в котором показан новый подход к объявлению моделей https://docs.sqlalchemy.org/en/20/orm/quickstart.html
забавное гибридное хранилище
и прикольно как они генетическим алгоритмом выбирают схему данных оптимизируя вес базы. и автоматом делают миграцию (жаль не рассказал он про это)

== Евгений Ермаков: Meta DWH о DWH для DWH
https://youtu.be/EHmf0tTxd6A
в последнее время джава не пративна, даже интересна. капец окошко овертона повернулось

== The Volatile and Synchronized Keywords in Java
https://youtu.be/71dgtPrbToE
== MemTable
https://github.com/facebook/rocksdb/wiki/MemTable

In-memory data structure that holds data before it’s flushed into an SStable, the implementation may use a RB Tree, a skiplist, a HashLinkList
== SSTable and Log Structured Storage: LevelDB
https://www.igvita.com/2012/02/06/sstable-and-log-structured-storage-leveldb/

SSTable
An immutable data structure that stores a large number of key:value pairs sorted by key
Advantages over simple hash indexes
- Merging SSTables is similar to doing a merge sort
- To find if a key exists we don’t need an index of all the keys in memory, instead we can keep an index for every few kilobytes and then perform a scan (sparse index)
- range queries can be compressed before writing to disk, the sparse index would only need to find the starting position of the compressed segment
== Casanrda. How is data maintained?
https://docs.datastax.com/en/cassandra-oss/3.x/cassandra/dml/dmlHowDataMaintain.html
- SizeTieredCompactionStrategy (STCS) = for writing-intensive
- LeveledCompactionStrategy (LCS) = for reading-intensive
- TimeWindowCompactionStrategy (TWCS)
- DateTieredCompactionStrategy (DTCS)

== Scylla. Choose a Compaction Strategy
https://docs.scylladb.com/stable/architecture/compaction/compaction-strategies.html