OpenMLDB
libpmemobj-cpp
Our great sponsors
OpenMLDB | libpmemobj-cpp | |
---|---|---|
9 | 4 | |
1,545 | 107 | |
2.0% | - | |
9.6 | 4.9 | |
1 day ago | about 1 year ago | |
C++ | C++ | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
OpenMLDB
-
Comparative Analysis of Memory Consumption: OpenMLDB vs Redis Test Report
b. Pull the testing code
-
Ultra High-Performance Database OpenM(ysq)LDB: Seamless Compatibility with MySQL Protocol and Multi-Language MySQL Client
OpenMLDB has introduced a new service module called OpenM(ysq)LDB, expanding its capabilities to integrate with MySQL infrastructure. This extension redefines the “ML” in OpenMLDB to signify both Machine Learning and MySQL compatibility. Through OpenM(ysq)LDB, users gain the ability to utilize MySQL command-line clients or MySQL SDKs in various programming languages, enabling seamless access to OpenMLDB’s unique online and offline feature calculation capabilities.
-
Mastering Distributed Database Development in 10 Minutes with OpenMLDB Developer Docker Image
OpenMLDB is an open-source, distributed in-memory database system designed for time-series data. It focuses on high performance, reliability, and scalability, making it suitable for handling massive time-series data and real-time computation of online features. In the wave of big data and machine learning, OpenMLDB has emerged as a promising player in the open-source database field, thanks to its powerful data processing capabilities and efficient support for machine learning.
-
OpenMLDB new release v0.8.4
For detailed release notes, please refer to: https://github.com/4paradigm/OpenMLDB/releases/tag/v0.8.4 Feel free to try it out, and discuss it in the official Slack channel (https://join.slack.com/t/openmldb/shared_invite/zt-ozu3llie-K~hn9Ss1GZcFW2~K_L5sMg) if you have any thoughts on improvements or questions!
-
Quickstart with OpenMLDB
New to OpenMLDB? Check out the quick workflow and quickstart blog post!
-
Engineering Practice for Real-time Feature Store in Decision-Making Machine Learning
Website: https://openmldb.ai/
- [D] Your 🫵 Preferred Feature Stores?
- OpenMLDB: An new open-source database for production AI/ML workloads
libpmemobj-cpp
-
UltraRAM: 'Universal Memory' That Brings RAM-Like Speed to Non-Volatile Storage
Another comment already mentions this, but I guess a functional data structure would be easiest to maintain, even though there's stuff like this for PMEM such that any data structure would work essentially: https://pmem.io/
This[1] Open Source data store I'm maintaining is storing a huge tree of tries eventually on durable storage, but it's essentially a huge persistent index stored in an append-only file. The last layer of "indirect index pages" stores list of pointers to page fragments, which store the actual records (the list however is bound to a predefinded size). A single read-write trx per resource syncs the new page fragments, which mainly only include the updated or new records plus the paths to the root page to a durable device during a postorder traversal of the in-memory log. The last thing is an atomic update, which sets a new offset to point to the new UberPage, the root of the storage. All pages are only word aligned except for RevisionRootPages, which are aligned to a multiple of 256 bytes. All pages are compressed and might in the future optionally be encrypted.
I guess these byte addressable persistent memory devices are an ideal fit for small sized parallel random reads of potentially tiny page fragments to reconstruct a full page in-memory.
However, I hope they'll eventually achieve a better price in comparison to DRAM and SSDs than Intel Optane DC PMEM current price range.
-
ELI5: what is pmem?
Yes it is persistent memory programming. https://pmem.io/
-
Languages experimented with distributed heap support?
Predating Intel's persistent memory a.k.a. NVDIMM, I see a research product "Hotpot" on its practical application as distributed shared memory ( paper and source code ), despite the hardware adoption issue and its apparent research nature (stuck with customized 3.x Linux kernel), I find the core idea not so bound to such a whole new technology stack, covering from low level device driver to application programming toolkit, even depending on sth like 40Gbps RDMA with InfiniBand SAN connection.
-
Can't figure out how to link C++ library installed with apt-get
It's more work but it looks like you can get the C++ bindings off their github and use them directly. You may have to experiment with different releases to find one compatible with whatever version of the base library you have installed.
What are some alternatives?
Open3D - Open3D: A Modern Library for 3D Data Processing
Hotpot - Distributed Shared Persistent Memory. SoCC 2017
psychec - A compiler frontend for the C programming language
pmdk - Persistent Memory Development Kit
feathr - Feathr – A scalable, unified data and AI engineering platform for enterprise
feast - Feature Store for Machine Learning
featureform - The Virtual Feature Store. Turn your existing data infrastructure into a feature store.
MNN - MNN is a blazing fast, lightweight deep learning framework, battle-tested by business-critical use cases in Alibaba
simdjson - Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks
citra - A Nintendo 3DS Emulator
bytehub - ByteHub: making feature stores simple
hopsworks - Hopsworks - Data-Intensive AI platform with a Feature Store