{"id":13415036,"url":"https://github.com/EventStore/EventStore","last_synced_at":"2025-03-14T22:32:45.051Z","repository":{"id":4697339,"uuid":"5844474","full_name":"EventStore/EventStore","owner":"EventStore","description":"EventStoreDB, the event-native database. Designed for Event Sourcing, Event-Driven, and Microservices architectures","archived":false,"fork":false,"pushed_at":"2024-10-29T08:33:50.000Z","size":332037,"stargazers_count":5297,"open_issues_count":129,"forks_count":643,"subscribers_count":214,"default_branch":"master","last_synced_at":"2024-10-29T09:24:41.573Z","etag":null,"topics":["cqrs","database","event-sourcing","event-store","eventsourcing","eventstore"],"latest_commit_sha":null,"homepage":"https://eventstore.com","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EventStore.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-09-17T17:22:49.000Z","updated_at":"2024-10-29T07:03:27.000Z","dependencies_parsed_at":"2023-01-16T19:15:42.493Z","dependency_job_id":"e5db259a-7406-4642-b5ba-56918584977a","html_url":"https://github.com/EventStore/EventStore","commit_stats":{"total_commits":5625,"total_committers":158,"mean_commits":35.60126582278481,"dds":0.8055111111111111,"last_synced_commit":"d6c2a0e7934279777a0cfdb126c08e4ef433b7f8"},"previous_names":[],"tags_count":1064,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EventStore%2FEventStore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EventStore%2FEventStore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EventStore%2FEventStore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EventStore%2FEventStore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EventStore","download_url":"https://codeload.github.com/EventStore/EventStore/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243095788,"owners_count":20235549,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cqrs","database","event-sourcing","event-store","eventsourcing","eventstore"],"created_at":"2024-07-30T21:00:41.964Z","updated_at":"2025-03-14T22:32:40.041Z","avatar_url":"https://github.com/EventStore.png","language":"C#","readme":"\u003ca href=\"https://www.eventstore.com/\"\u003e\u003cimg src=\"https://lh3.googleusercontent.com/G6tLxSbJvFodjR_FHrsXs5WOIls0VfuXkWgv60vbRB0WSuJoe-m1cADCsroUHQgJUQMcwp_HNKCLfiTWuCfVwlT607G8niENuGfq5DsnEmWUx_4Szx3GAWI6X1GKRA5iwv_loW0T75cWCAZsRZm3DL4\" height=50% width=50% alt=\"EventStoreDB\" /\u003e\u003c/a\u003e\n\nEventStoreDB is the event-native database, where business events are immutably stored and streamed. Designed for event-sourced, event-driven, and microservices architectures\n\n- [What is EventStoreDB ](#what-is-eventstoredb)\n- [What is EventStore Cloud ](#what-is-event-store-cloud)\n- [Licensing](#licensing)\n- [Documentation](#docs)\n- [Getting started with EventStoreDB ](#getting-started-with-eventstoredb)\n- [Getting started with EventStore Cloud ](#getting-started-with-eventstoredb)\n- [Client libraries](#client-libraries)\n- [Deployment](#deployment)\n- [Communities](#communities)\n- [Contributing](#contributing)\n- [Building EventStoreDB](#building-eventstoredb)\n- [Need help?](#need-help)\n\n## What is EventStoreDB\n\nEventStoreDB is a new category of operational database that has evolved from the Event Sourcing community. Powered by the state-transition data model, events are stored with the context of why they have happened. Providing flexible, real-time data insights in the language your business understands.\n\n\u003cp align=\"center\"\u003e\n  \u003ca href='https://www.youtube.com/embed/IxPXizeHJM4'\u003e \u003cimg src='https://user-images.githubusercontent.com/5140165/232470679-4716b5bb-0814-4bec-958f-0f20fc2b9586.png' width='75%'\u003e \u003c/a\u003e\n\u003c/p\u003e\n\nDownload the [latest version](https://www.eventstore.com/downloads).\nFor more product information visit [the website](https://www.eventstore.com/eventstoredb).\n\n## What is Event Store Cloud?\n\nEvent Store Cloud is a fully managed cloud offering that's designed to make it easy for developers to build and run highly available and secure applications that incorporate EventStoreDB without having to worry about managing the underlying infrastructure. You can provision EventStoreDB clusters in AWS, Azure, and GCP, and connect these services securely to your own cloud resources.\n\nFor more details visit [the website](https://www.eventstore.com/event-store-cloud).\n\n## Licensing\n\nView [Event Store Ltd's licensing information](https://github.com/EventStore/EventStore/blob/master/LICENSE.md).\n\n## Docs\n\nFor guidance on installation, development, deployment, and administration, see the [User Documentation](https://developers.eventstore.com/).\n\n## Getting started with EventStoreDB\n\nFollow the [getting started guide](https://developers.eventstore.com/latest.html).\n\n## Getting started with Event Store Cloud\n\nEvent Store can manage EventStoreDB for you, so you don't have to run your own clusters.\nSee the online documentation: [Getting started with Event Store Cloud](https://developers.eventstore.com/cloud/).\n\n## Client libraries\n\nThis guide shows you how to get started with EventStoreDB by setting up an instance or cluster and configuring it.\nEventStoreDB supports two protocols: gRPC and TCP(legacy).\n\nEventStoreDB supported gRPC clients\n\n- Python: [pyeventsourcing/esdbclient](https://pypi.org/project/esdbclient/)\n- Node.js (javascript/typescript): [EventStore/EventStore-Client-NodeJS](https://github.com/EventStore/EventStore-Client-NodeJS)\n- Java: [(EventStore/EventStoreDB-Client-Java](https://github.com/EventStore/EventStoreDB-Client-Java)\n- .NET: [EventStore/EventStore-Client-Dotnet](https://github.com/EventStore/EventStore-Client-Dotnet)\n- Go: [EventStore/EventStore-Client-Go](https://github.com/EventStore/EventStore-Client-Go)\n- Rust: [EventStore/EventStoreDB-Client-Rust](https://github.com/EventStore/EventStoreDB-Client-Rust)\n- Read more in the [gRPC clients documentation](https://developers.eventstore.com/clients/grpc)\n\nCommunity supported gRPC clients\n\n- Elixir: [NFIBrokerage/spear](https://github.com/NFIBrokerage/spear)\n- Ruby: [yousty/event_store_client](https://github.com/yousty/event_store_client)\n\nRead more in the [documentation](https://developers.eventstore.com/server/v22.10/#protocols-clients-and-sdks).\n\nLegacy TCP Clients (support ends with 23.10 LTS)\n\n- .Net: [EventStoreDB-Client-Dotnet-Legacy](https://github.com/EventStore/EventStoreDB-Client-Dotnet-Legacy)\n\n## Deployment\n\n- Event Store Cloud - [steps to get started in Cloud](https://developers.eventstore.com/cloud/).\n- Self-managed - [steps to host EventStoreDB yourself](https://developers.eventstore.com/server/v22.10/#getting-started).\n\n## Communities\n\n- [Discuss](https://discuss.eventstore.com/)\n- [Discord (Event Store)](https://discord.gg/Phn9pmCw3t)\n- [Discord (ddd-cqrs-es)](https://discord.com/invite/sEZGSHNNbH)\n\n## Contributing\n\nDevelopment is done on the `master` branch.\nWe attempt to do our best to ensure that the history remains clean and to do so, we generally ask contributors to squash their commits into a set or single logical commit.\n\nIf you want to switch to a particular release, you can check out the release branch for that particular release. For example:  \n`git checkout release/oss-v22.10`\n\n- [Create an issue](https://github.com/EventStore/EventStore/issues)\n- [Documentation](https://developers.eventstore.com/)\n- [Contributing guide](https://github.com/EventStore/EventStore/blob/master/CONTRIBUTING.md)\n\n## Building EventStoreDB\n\nEventStoreDB is written in a mixture of C# and JavaScript. It can run on Windows, Linux and macOS (using Docker) using the .NET Core runtime.\n\n**Prerequisites**\n\n- [.NET Core SDK 8.0](https://dotnet.microsoft.com/download/dotnet/8.0)\n\nOnce you've installed the prerequisites for your system, you can launch a `Release` build of EventStore as follows:\n\n```\ndotnet build -c Release src\n```\n\nThe build scripts: `build.sh` and `build.ps1` are also available for Linux and Windows respectively to simplify the build process.\n\nTo start a single node, you can then run:\n\n```\ndotnet ./src/EventStore.ClusterNode/bin/x64/Release/net8.0/EventStore.ClusterNode.dll --dev --db ./tmp/data --index ./tmp/index --log ./tmp/log\n```\n\n### Running the tests\n\nYou can launch the tests as follows:\n\n```\ndotnet test src/EventStore.sln\n```\n\n### Build EventStoreDB Docker image\n\nYou can also build a Docker image by running the command:\n\n```\ndocker build --tag myeventstore . \\\n--build-arg CONTAINER_RUNTIME={container-runtime}\n--build-arg RUNTIME={runtime}\n```\n\nFor instance:\n\n```\ndocker build --tag myeventstore . \\\n--build-arg CONTAINER_RUNTIME=bookworm-slim \\\n--build-arg RUNTIME=linux-x64\n```\n\n**_Note:_** Because of the [Docker issue](https://github.com/moby/buildkit/issues/1900), if you're building a Docker image on Windows, you may need to set the `DOCKER_BUILDKIT=0` environment variable. For instance, running in PowerShell:\n\n```\n$env:DOCKER_BUILDKIT=0; docker build --tag myeventstore . `\n--build-arg CONTAINER_RUNTIME=bookworm-slim `\n--build-arg RUNTIME=linux-x64\n```\n\nCurrently, we support the following configurations:\n\n1. Bookworm slim:\n\n- `CONTAINER_RUNTIME=bookworm-slim`\n- `RUNTIME=linux-x64`\n\n2. Jammy:\n\n- `CONTAINER_RUNTIME=Jammy`\n- `RUNTIME=linux-x64`\n\n3. Alpine:\n\n- `CONTAINER_RUNTIME=alpine`\n- `RUNTIME=linux-musl-x64`\n\nYou can verify the built image by running:\n\n```\ndocker run --rm myeventstore --insecure --what-if\n```\n\n## Need help?\n\n- [Release notes ](https://www.eventstore.com/blog/release-notes)\n- [Beginners Guide to Event Sourcing](https://www.eventstore.com/event-sourcing)\n- [Articles](https://www.eventstore.com/blog)\n- [Webinars ](https://www.eventstore.com/webinars)\n- [Contact us](https://www.eventstore.com/contact)\n","funding_links":[],"categories":["Frameworks, Libraries and Tools","Database","数据库","C# #","C#","框架, 库和工具","EventStore","C\\#"],"sub_categories":["Queue and Messaging","消息队列"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEventStore%2FEventStore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FEventStore%2FEventStore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEventStore%2FEventStore/lists"}