Skip to content

Commit

Permalink
Create multi-tenancy-vs-federation.md (#1792)
Browse files Browse the repository at this point in the history
* Create multi-tenancy-vs-federation.md

Add a very high level doc about the difference between multi-tenancy and federation

* Update multi-tenancy-vs-federation.md
  • Loading branch information
tarrow authored and deer-wmde committed Oct 15, 2024
1 parent b7b87b8 commit 3457d48
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions doc/multi-tenancy-vs-federation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Wikibase Cloud's uses a [Multitenancy](https://en.wikipedia.org/wiki/Multitenancy) approach to many of its services.

This is done to keep the cost of running each individual Wikibase low. It also reduces the costs of managing the releases of new features.

We use a single instance of Blazegraph for the Wikibase instances we manage. We use the namespace feature to provide segregation of the tenant's data at the database level. We have implemented a custom service to route queries to the correct namespace. We have implemented a customer updater pipeline to allow the queryservice to be updated efficiently. This multi-tenant model is not [federation](https://www.mediawiki.org/wiki/Wikibase/Federation).

We do allow federated querying between Wikibase Cloud instances, federated querying to Wikidata and also federated querying to the same 3rd party endpoints that Wikidata allows.

We use a single ElasticSearch cluster for all of our Wikibases. In the first half of 2024 moved the data for each Wikibase even closer together and placed them all in the same indices. This substantially reduced costs we were facing due to the overheads ElasticSearch has for each index. Sharing a single cluster or even a single index is not federation.

Finally, relevant to the topic of federation we host wikibase.world. This is a community run project that describes itself as follows:
> _**[Wikibase World](https://wikibase.world/wiki/Item:Q3 "Item:Q3")**_ is a collaborative database of the Wikibase ecosystem, including individual Wikibase instances, itself running on Wikibase.
This provides a space for people to map Wikibases together therefore making them more interoperable. This makes it easier for people to write federated queries.

0 comments on commit 3457d48

Please sign in to comment.