函數式數據庫:EventStore
EventStore 是一個開源的函數式數據庫,用于在JavaScrpt中存儲不可變事件和對事件流進行復雜的事件處理。與此領域的其他工具不同,EventStore 將事件流展現為 Atmo 集合,因此不需要使用消息總線之類的特殊基礎設施或高度專門化的客戶端。
Features
Event-sourcing
Event Store stores your data as a series of immutable events over time, making it easy to build event-sourced applications.
Projections
Projections allow you to react to events as they are written, and to create new events when interesting combinations occur. You can use the same model for writing temporal correlation queries that run over historical data and on into the future.
Open Source License
Event Store is licensed under a 3-clause BSD license, whether it runs on a single node or as a high availability cluster. Commercial support services are available.
Client Interfaces
Event Store has a native HTTP interface based on the AtomPub protocol which is plenty fast enough for the majority of use cases. For high-performance use, there are native drivers for .NET, Akka and Erlang.
High Availability
Event Store can run as a cluster of nodes containing the same data, which remains available for writes provided at least half the nodes are alive and connected. See HA in action at ha.geteventstore.com.
Great Performance
Whilst performance depends on configuration and use patterns, we’ve benchmarked Event Store at around 15,000 writes per second and 50,000 reads per second!
Runs on Windows, Linux or Mac OS X
Event Store is written in C++, C# and JavaScript. The server runs on Mono or the .NET CLR, on Windows, Linux or Mac OS X