Comments 19
Похоже очередная статья написанная GPT.
Я глянул исходники, это ещё больший мутант, чем я думал. Оно написано на питоне. При получении msgpack-сообщения вызывается библиотечный msgpack-декодер, который превращает это в питоновский список питоновских словарей. А чтобы сохранить это на диск, используется Polars DataFrame, в который этот список словарей передаётся. Это точно можно делать эффективнее.
Hi, Ignacio here, Lead of Basekick Labs, Creators of Arc. Thanks for the feedback! You were right, we investigated and found optimization opportunities.
What we did:
• MessagePack streaming decoder (msgpack.Unpacker vs unpackb)
• Columnar Polars DataFrame construction
Results:
• Throughput: 1.95M → 2.01M RPS (+3.1%)
• Latency p95: 184ms → 147ms (-20.3%)
• Latency p99: 395ms → 317ms (-19.6%)
• Memory usage: -10-20%
The MessagePack endpoint already used Direct Arrow (zero-copy), but your comment helped us optimize both write paths.
Details: https://github.com/basekick-labs/arc/blob/main/docs/WRITE\_OPTIMIZATIONS.mdOpen source works! 🚀
Could you please share details on how you have measured these numbers? I mean cpu/ram configurations, how many python processes and connections? I'm sceptical that a single python process and single connection can get you millions of PRS.
Yes. That info is on the repo, but I can tell you here. 42 workers in the server, and 400 workers in the client. Let me know if you have additional questions. With local storage, nvme, we reached 2.08m.
CPU and Ram is also there, it’s a M3 Pro max. 14 cores, 36gb of RAM. CPU during those test at 85%.
При нативном (native) запуске — до 1,89 млн записей/сек (MessagePack протокол)
Средний размер записи порядка 90 байт. В МБ скорость записи будет порядка 170 Мб/сек в несколько потоков (e.g., 14 cores = 42 workers).
{
"m": "cpu",
"t": 1728604800000,
"h": "server01",
"tags": {
"region": "us-east",
"dc": "aws"
},
"fields": {
"usage_idle": 95.0,
"usage_user": 3.2,
"usage_system": 1.8
}
}Раньше оракл новыми поделиями убивали, теперь у убийц новая цель)
в итоге Оракл потерял рынок аналититческих баз и дальше на него наступают
Эммммм, если бы не случилось строго определенных геополитических событий и весьма бурной на них реакции у некоторых компаний экзадату двигали бы ещё очень долго.
Так что да оракл канеш потерял рынок, но не из-за того что продукт у них плохой.
В прод я бы такое не взял, тем более на замену клику.
Arc: Убийца ClickHouse на стероидах из DuckDB и Parquet? Разбираем новый движок для time-series