Gordon  Matlala

Gordon Matlala


Learn Features Of EventStoreDB


EventStoreDB is an Event-Specific Database. You may save each state change as a distinct event, in a contrast to state-oriented databases that simply keep the most recent version of the entity state.

List of Features of EventStoreDB

  • EventStreams
  • Indexes
  • Projections
  • Persistent Subscriptions


Stream MetaData, Reserved Names and Event MetaData

Stream MetaData

In EventStoreDB, every stream has a corresponding metadata stream that contains a prefix of “$$”, for example, the metadata stream for root is $$root. You can edit various metadata values in EventStoreDB, and you can add your own information to stream metadata that you may use in the code.

Reserved Names

EventStoreDB prefixes every internal data with a $ character. As a result, unless otherwise specified below are some reserved names, we shouldn’t use with a $ prefix as event names, metadata keys, or stream names.

Internal reserved names

$maxAge : depending on dates, generates a sliding window When data reaches a certain age, it is automatically withdrawn from the stream and deemed scavengeable. This value is represented by the number of seconds, which is expressed as an integer. This number must be greater than one.

$maxCount : The size of the sliding window is determined by the number of items in the stream. When data reaches a certain length, it becomes scavengeable and automatically disappears from the stream. In this value, the number of objects is specified as an integer. This number must be greater than one.

$cacheControl : This regulates the stream’s head’s cache. The majority of URIs in a stream are indefinitely cacheable, however by default, the head won’t be cached. In some circumstances, setting a tiny amount of caching on the head to let intermediates handle polling may be better (say 10 seconds). An integer that represents the number of seconds to cache is the parameter. This quantity must exceed 1.

Event MetaData

The EventStoreDB contains metadata for each event. You can edit various metadata values in EventStoreDB, and you can add your own information to event metadata that you may use in the code.

Property Names reserved for internal use are “$correlationId and $causationId“.


EventStoreDB stores Indexes independently from the primary data files and accesses records by using their stream name. The index map file is known as indexmap, and the index files all have distinctive names. The index map file contains the data checkpoint for the most recent written file. It also indicates the order and level of the index file. The hashes of stream names are used to sort lists called Indexes. EventStoreDB maintains midpoints to connect the stream hash to the actual offset in the file, accelerating the process of finding the right location in the file of an entry for a stream.

As EventStoreDB saves more files, it merges together whenever there are more than 2 files at the same level into a single file at the next level.


An EventStoreDB component called Projections enables you to reactively attach new events or connect current events to streams.

Projections excel at answering one particular group of queries, called “temporal correlation queries.” There are few people who can effectively run this type of query, which is frequent in corporate systems.

Projections help to make continuous queries a reality. When executing a projection, you can decide whether the query should execute and provide all results at once, or if it should keep running into the future, updating its result set as new results emerge.

Types of Projections

EventStoreDB has 2 types of projections :

  • Built-in projections
  • User Defined Javascript projections

Persistent subscription

A typical action is to subscribe to a stream and get updates when something changes. You continue to track the unfolding events as they come.

On the Leader node, persistent subscriptions are active and are not lost when the connection gets cut off. Additionally, this subscription type helps you send messages to lots of employees because it supports the “competing consumers” messaging pattern. EventStoreDB enables at least-once delivery assurances across numerous customers on the same stream by saving the subscription status server-side. It is feasible to have various customer competitions on the same stream, with a guarantee that each group would participate at least once.

Catch-up or volatile subscriptions have a function, and persistent subscriptions do too, but in a different way. Real-time event delivery is the goal of every subscription for connected customers. The server takes care of Persistent subscriptions, but, not like other subscription kinds. Persistent subscriptions are somewhat comparable to catch-up subscriptions. Each has a most recent position from which the subscription begins receiving events. Catch-up subscriptions, on the other hand, must be careful to maintain the last known position on the subscriber side, whereas persistent subscriptions maintain the position on the server.

Because the server determines where events come from and where the subscription should begin receiving them, subscribers that use permanent subscriptions can be load-balanced and process events concurrently. Catch-up subscriptions, which are client-driven and only capable of client-side load balancing, always receive and process events sequentially. Therefore, adopting the competing consumer pattern, which is ubiquitous in the field of message brokers, is possible with persistent subscriptions.


In this blog, we briefly went through all the features of EventStoreDB .i.e. Event Stream, Indexes, Projections and Persistent Subscriptions.

For more blogs stay tuned at https://blog.knoldus.com/

Refer to EventStoreDB documentation here: https://developers.eventstore.com/

Original article source at: https://blog.knoldus.com/


What is GEEK

Buddha Community

Learn Features Of EventStoreDB
Jerad  Bailey

Jerad Bailey


Google Reveals "What is being Transferred” in Transfer Learning

Recently, researchers from Google proposed the solution of a very fundamental question in the machine learning community — What is being transferred in Transfer Learning? They explained various tools and analyses to address the fundamental question.

The ability to transfer the domain knowledge of one machine in which it is trained on to another where the data is usually scarce is one of the desired capabilities for machines. Researchers around the globe have been using transfer learning in various deep learning applications, including object detection, image classification, medical imaging tasks, among others.

#developers corner #learn transfer learning #machine learning #transfer learning #transfer learning methods #transfer learning resources

E-Learning App Development: Types, Cost & Features

The growth of the online modes for students has increased since the pandemic. This growth has been possible with the help of E-learning software systems. This software has shown a future with more opportunities, even in this pandemic. This market will grow to a high of 350 billion dollars by 2025. Due to this pandemic, most education organizations have shifted to online modes. So, naturally, this means the need for E-learning software systems will grow. So, do you have a complete idea for your E-learning applications and are planning to develop one for your organization? E-learning product development is not a very difficult process to handle. To make the process easier for you, we have added the types of e-learning apps, its features, benefits, development cost and much more in this blog. To read more click on the link.

#e-learning web portals #e-learning development companies #development of software for e-learning #e-learning web portalsmobile applications for e-learning #e-learning product development #app development

sophia tondon

sophia tondon


5 Latest Technology Trends of Machine Learning for 2021

Check out the 5 latest technologies of machine learning trends to boost business growth in 2021 by considering the best version of digital development tools. It is the right time to accelerate user experience by bringing advancement in their lifestyle.

#machinelearningapps #machinelearningdevelopers #machinelearningexpert #machinelearningexperts #expertmachinelearningservices #topmachinelearningcompanies #machinelearningdevelopmentcompany

Visit Blog- https://www.xplace.com/article/8743

#machine learning companies #top machine learning companies #machine learning development company #expert machine learning services #machine learning experts #machine learning expert

Jackson  Crist

Jackson Crist


Intro to Reinforcement Learning: Temporal Difference Learning, SARSA Vs. Q-learning

Reinforcement learning (RL) is surely a rising field, with the huge influence from the performance of AlphaZero (the best chess engine as of now). RL is a subfield of machine learning that teaches agents to perform in an environment to maximize rewards overtime.

Among RL’s model-free methods is temporal difference (TD) learning, with SARSA and Q-learning (QL) being two of the most used algorithms. I chose to explore SARSA and QL to highlight a subtle difference between on-policy learning and off-learning, which we will discuss later in the post.

This post assumes you have basic knowledge of the agent, environment, action, and rewards within RL’s scope. A brief introduction can be found here.

The outline of this post include:

  • Temporal difference learning (TD learning)
  • Parameters
  • QL & SARSA
  • Comparison
  • Implementation
  • Conclusion

We will compare these two algorithms via the CartPole game implementation. This post’s code can be found here :QL code ,SARSA code , and the fully functioning code . (the fully-functioning code has both algorithms implemented and trained on cart pole game)

The TD learning will be a bit mathematical, but feel free to skim through and jump directly to QL and SARSA.

#reinforcement-learning #artificial-intelligence #machine-learning #deep-learning #learning

E-learning Software Services - SISGAIN

SISGAIN is one of the top e-Learning software companies in New York, USA. Develop Education Technology based, mobile application for e-learning from SISGAIN. We Develop User Friendly Education App and Provide e-learning web portals development Service. Get Free Quote, Instant Support & End to End Solution. SISGAIN has been developing educational software and provides e-learning application development services for US & UK clients. For more information call us at +18444455767 or email us at hello@sisgain.com

#learning development companies #development of software for e-learning #top e-learning software companies #e-learning web portals #mobile applications for e-learning #e-learning product development