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
- Полная поддержка типов: 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
== Code of Architecture. Distributed Systems. Episode 2.
https://www.youtube.com/live/euxnCZ7ErjY?feature=share
https://www.youtube.com/live/euxnCZ7ErjY?feature=share
YouTube
Code of Architecture. Distributed Systems. Episode 2.
Мы возвращаемся в эфир после новогодних каникул с новой книгой — Distributed Systems. Книга посвящена распределенным системам.
В этом эпизоде разберем первую главу Distributed Systems. Обсудим:
— основные характеристики распределенных систем;
— их…
В этом эпизоде разберем первую главу Distributed Systems. Обсудим:
— основные характеристики распределенных систем;
— их…
== float64 to float32: Saving memory without losing precision
https://pythonspeed.com/articles/float64-float32-precision/
https://pythonspeed.com/articles/float64-float32-precision/
Python⇒Speed
The problem with float32: you only get 16 million values
Switching from float64 (double-precision) to float32 (single-precision) can cut memory usage in half. But how do you deal with data that doesn’t fit?
== What is a Thread? | Threads, Process, Program, Parallelism and Scheduler Explained
https://youtu.be/hN2Yrf4tqTY
https://youtu.be/hN2Yrf4tqTY
YouTube
What is a Thread? | Threads, Process, Program, Parallelism and Scheduler Explained | Geekific
Discord Community: https://discord.gg/dK6cB24ATp
GitHub Repository: https://github.com/geekific-official/
If you’re into programming, you may for sure have heard the term Thread or Threading in relation to a computer program, but you weren’t exactly sure…
GitHub Repository: https://github.com/geekific-official/
If you’re into programming, you may for sure have heard the term Thread or Threading in relation to a computer program, but you weren’t exactly sure…
прикольный канал. на фоне хорошо шуршит
https://www.youtube.com/@geekific/playlists
https://www.youtube.com/@geekific/playlists
YouTube
Geekific
What’s up fellow coders and welcome to Geekific!
I’m Ed, a full-time software developer and coding enthusiast. Join me on this never-ending learning journey as we dive into the fascinating world of coding. Whether you're a beginner or an experienced programmer…
I’m Ed, a full-time software developer and coding enthusiast. Join me on this never-ending learning journey as we dive into the fascinating world of coding. Whether you're a beginner or an experienced programmer…
Хорошее понятное объяснение
== System Design Interview Basics: CAP vs. PACELC
https://designgurus.org/blog/system-design-interview-basics-cap-vs-pacelc
== System Design Interview Basics: CAP vs. PACELC
https://designgurus.org/blog/system-design-interview-basics-cap-vs-pacelc
Design Gurus: One-Stop Portal For Tech Interviews.
System Design Interview Basics: CAP vs. PACELC
What is CAP theorem and how PACELC extends it?
забавное гибридное хранилище
и прикольно как они генетическим алгоритмом выбирают схему данных оптимизируя вес базы. и автоматом делают миграцию (жаль не рассказал он про это)
== Евгений Ермаков: Meta DWH о DWH для DWH
https://youtu.be/EHmf0tTxd6A
и прикольно как они генетическим алгоритмом выбирают схему данных оптимизируя вес базы. и автоматом делают миграцию (жаль не рассказал он про это)
== Евгений Ермаков: Meta DWH о DWH для DWH
https://youtu.be/EHmf0tTxd6A
YouTube
Евгений Ермаков: Meta DWH о DWH для DWH
Data Fest Online 2020
Data Governance track https://ods.ai/tracks/data-governance-df2020
Спикер: Евгений Ермаков, архитектор хранилищ данных, Яндекс Такси
Из очень простой идеи «а почему бы нам не сделать хранилище данных на данных самого хранилища данных…
Data Governance track https://ods.ai/tracks/data-governance-df2020
Спикер: Евгений Ермаков, архитектор хранилищ данных, Яндекс Такси
Из очень простой идеи «а почему бы нам не сделать хранилище данных на данных самого хранилища данных…
в последнее время джава не пративна, даже интересна. капец окошко овертона повернулось
== The Volatile and Synchronized Keywords in Java
https://youtu.be/71dgtPrbToE
== The Volatile and Synchronized Keywords in Java
https://youtu.be/71dgtPrbToE
YouTube
The Volatile and Synchronized Keywords in Java | Atomic Variables | Java Multithreading | Geekific
Support us on Patreon: https://www.patreon.com/Geekific GitHub Repository: https://github.com/geekific-official/geekific-youtube/Stay updated on our videos b...
на случай сложных переговоров
https://youtu.be/0Ji4kJ3-0E4
https://youtu.be/0Ji4kJ3-0E4
YouTube
Дельта альфа альфа штрих 10 часов
#мфти #киселев #дельтаальфаальфаштрих
Forwarded from Python/ django
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - DovAmir/awesome-design-patterns: A curated list of software and architecture related design patterns.
A curated list of software and architecture related design patterns. - DovAmir/awesome-design-patterns
== Датасеты в открытом доступе
https://uproger.com/datasety-v-otkrytom-dostupe/
https://uproger.com/datasety-v-otkrytom-dostupe/
UPROGER | Программирование
Датасеты в открытом доступе
Мы представляем вам огромный набор открытых датасетов для анализа данных.
Mall Customers Dataset — данные посетителей магазина: id, пол, возраст, доход, рейтинг трат. (Вариант применения: Customer Segmentation Project with Machine Learning)
Рост населения…
Mall Customers Dataset — данные посетителей магазина: id, пол, возраст, доход, рейтинг трат. (Вариант применения: Customer Segmentation Project with Machine Learning)
Рост населения…
👍1
== Как подготовиться и пройти System Design Interview
https://youtu.be/jUbOm0B-eKQ
https://youtu.be/jUbOm0B-eKQ
YouTube
Как подготовиться и пройти System Design Interview. Александр Поломодов
Выступление на конференции ArchDays 2022 https://archconf.ru/arch
Собеседования в формате System Design Interview становятся все популярнее. Эти собеседования по проектированию проводят как для инженеров, так и для технических менеджеров, а их результаты…
Собеседования в формате System Design Interview становятся все популярнее. Эти собеседования по проектированию проводят как для инженеров, так и для технических менеджеров, а их результаты…
== 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
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
GitHub
MemTable
A library that provides an embeddable, persistent key-value store for fast storage. - facebook/rocksdb
== 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
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
Igvita
SSTable and Log Structured Storage: LevelDB
LevelDB combines the SSTable, MemTable a number of processing conventions to create a fast, open-source database engine. LevelDB is now embedded in WebKit (IndexDB), but you can also easily embed it in your own application!
== 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
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
Datastax
How is data maintained?
Cassandra processes data at several stages on the write path. Compaction to maintain healthy SSTables is the last step in the write path process.
== Что такое ZFS?
https://docs.oracle.com/cd/E19253-01/820-0836/zfsover-2/index.html
- Это 128-разрядная файловая система с возможностью хранения данных в объеме 256 септильонов зеттабайт
- Не имеет журнала. транзакционна = легко САМОвосстанавливается
- Данные если хранятся то не противоречивы за счет измений по алгоритму CoW
- важные данные можно писать СИНХРОННО. всегда гарантированно сохраняются перед возвратом и поэтому не могут быть утрачены = без буфера = надежно
- поддерживает пулы устройств хранения данных с различными уровнями избыточности данных
- снимки есть из коробки
https://docs.oracle.com/cd/E19253-01/820-0836/zfsover-2/index.html
- Это 128-разрядная файловая система с возможностью хранения данных в объеме 256 септильонов зеттабайт
- Не имеет журнала. транзакционна = легко САМОвосстанавливается
- Данные если хранятся то не противоречивы за счет измений по алгоритму CoW
- важные данные можно писать СИНХРОННО. всегда гарантированно сохраняются перед возвратом и поэтому не могут быть утрачены = без буфера = надежно
- поддерживает пулы устройств хранения данных с различными уровнями избыточности данных
- снимки есть из коробки