| Use case | Solution | Example | Notes |
|---|---|---|---|
| Caching | Key Value pair for a query pattern/ key which needs a cached output | Redis, Memcache, etcd | |
| File storage for Images, Videos | Files would be serviced directly and would not require any query to be executed on the files. | Blob Storage ( eg. Amazon S3) | CDN can be used with the Blob to provide data faster |
| Text Search on Unstructured data | Data can be unstructured like Labels, Logs, etc. for this, the data may not be relational. We use Document DB for this scenario. | MongoDB | |
| Text Search on Unstructured data with ever-increasing data | Unstructured data but the data is increasing rapidly. We use Columnar DB for this scenario | Cassandra | |
| Metrics tracking | Metrics used in Grafana, for example, use a Relational DB in an APPEND-ONLY mode, which is a DB which can not update any item in the middle of the DB, but only add to the DB | Influx DB, Graphite, OpenTSDB(timeseriesdb), etc | VictoriaMetircs uses multiple DS and is a great tool for Metrics |
| Analytics for a large dataset | Data warehouse/ data lake can be used to provide support to analyze such large amount of data. The data used here is for reporting and NOT for a transactional system, meaning we do not intend to update the data frequently | Hadoop | |
| Multi-disciplinary course | In this use case, a student can start from Course A-1. But they can move to A-2 or B1. Similarly, if they choose B1, they can move to B2-a or B2-b. The data is related, but the flow can have multiple branches. Graph DB is a special kind of DB which can be used for this scenario | Neo4j | |
| Search Engine DB | In this case, the data can be both Structured and unstructured, however , the lookup time for text search query can be large in both. A special DB type , which is used for Search Engines, can be used for quick key search. | ElasticSearch | These can be used for quick data search. We can implement Fuzzy Search on this DB which can be used to identify wrong spellings or similar spellings. |
| Text Search on Structured data | Data will be structured, so we will have a relation between multiple data sources | RDBMS | Atomicity, Consistency, Isolation and Durability need to be ensured.We can use PostGre/MySQL for most scenarios but if we need to scale horizontally repeatedely( adding more nodes ), MariaDB may be beneficial |
Last active
February 23, 2022 04:54
-
-
Save reedip/21733ba636d054dad6f4094cf65f4d65 to your computer and use it in GitHub Desktop.
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
More reference : https://gist.github.com/reedip/21733ba636d054dad6f4094cf65f4d65