34 votes
Accepted

What are the reasons Docker should not be used for databases?

When people talk about running a database in Docker, they do not mean to store the data in a container; they are talking about having a docker image with the DB software, and mounting the data as a ...
user avatar
  • 4,696
15 votes
Accepted

What practices or tools enable Continuous Deployment of Databases?

Pramod Sadalage and Scott Ambler wrote a book Refactoring Databases: Evolutionary Database Design that is an incredibly solid primer to the subject of DBs in a CD org/team.
user avatar
  • 304
14 votes

What practices or tools enable Continuous Deployment of Databases?

The Challenges I am aware that there are practices such as only adding database objects, i.e. tables and columns, never modifying or removing them At one company I worked for, a rolling window of ...
user avatar
  • 3,655
13 votes

How should I store my environment variables?

I've had two runs at doing environment variables in a scalable way and neither has ended up perfect because, as I've discovered, is a very tricky thing to get right. I'll give a summary of both of my ...
user avatar
  • 1,634
13 votes
Accepted

Why is Prometheus not a good choice for data with high cardinality?

As far as I know, Prometheus doesn't mind high-cardinality data. What Prometheus doesn't like is high-cardinality labels. Let's start with Prometheus official documentation, it gives a good high-...
user avatar
  • 1,925
9 votes

How to synchronize deployments (especially of database object changes) on multiple environments

I would integrate the schema management into the application itself (or along with it). Any change to the schema should be committed along the application code (and hence tagged also). There's ...
user avatar
  • 11k
8 votes
Accepted

How to version control shared database?

I personally made the unwise choice of cramming five different apps into a single database about 20 years ago. I then had to deal with the repercussions of that. The bad news is, this is really hard. ...
user avatar
7 votes

What practices or tools enable Continuous Deployment of Databases?

We use Flyway at work for managing Postgres schemas in the app, and Pillar for managing Cassandra schemas. We have found it best if the app manages its own schema. We had a horrible experience ...
user avatar
7 votes

What practices or tools enable Continuous Deployment of Databases?

I'd argue a tool alone won't really help unless you shift the schema responsibility to the application team. We do use liquibase or flyway at work, where the application team is responsible to create ...
user avatar
  • 11k
6 votes

What are the reasons Docker should not be used for databases?

I wrote about this in depth but here's the summary: Preventing split brain (electing more than one master node) needs to be solved. Failure to do so can be catastrophic There are no production ready ...
user avatar
  • 735
6 votes
Accepted

Cloud DB operator responsibilities / common tasks

I always saw a DBA as someone who fits in between developers and operations when it comes to database management. On the one hand, they often take care of backups, clustering, replication, actual ...
user avatar
  • 676
5 votes

What is the impact of using Helm Deployments instead of StatefulSets for Databases like MongoDB or MySQL?

Back when Kubernetes announced the new StatefulSet feature with K8s v1.5 (converting it from the old PetSet name), they put out a really good blog post walking through an example of its usage: https://...
user avatar
  • 1,322
4 votes

How to synchronize deployments (especially of database object changes) on multiple environments

In our company we manage our application code within a VCS (Git) and most of the applications we work with install their core database from within the setup scripts that ship with the application. If ...
user avatar
  • 934
4 votes

What practices or tools enable Continuous Deployment of Databases?

To answer this question in the context of a mainframe environment, and specific to DB2® databases, there are typically 2 commonly used (not cheap ...) alternatives to pick from: Object Administration ...
user avatar
  • 6,848
4 votes
Accepted

Google Cloud Storage vs Redis / ElasticSearch

I don't know much about Redis/ElasticSearch, but GCS is not really a database-like solution, it is closer to a file storage solution. If you're looking for database-like storage Google Cloud offers: ...
user avatar
4 votes
Accepted

DynamoDB vs RDS for a counter store?

Why not something like Redis? (can use it through ElastiCache). Hard to answer this without knowing the operational requirements of this project. Is this data strictly for logging/research, or is it ...
user avatar
  • 1,231
4 votes

What practices or tools enable Continuous Deployment of Databases?

We use liquibase at our work and I'll speak highly for it. It's also used by our QA tool QASymphony. We're utilizing it against MSSQL and Oracle databases internally and QASymphony uses/has used it ...
user avatar
4 votes
Accepted

macOS testing on Desktop: Docker containers vs. Homebrew installation

One of the advantages of using Docker would be that you can easily run tests with different versions of the (DB) apps, which could be quite difficult with Homebrew (some apps don't easily support ...
user avatar
4 votes

Zero Downtime Deployment with Database Backward Compatibility

There is plenty of information about this. The basic idea goes like so - Create a script that does the database migration, but make sure that it only adds tables and fields - never removes, renames, ...
user avatar
4 votes
Accepted

docker: Error response from daemon: Conflict. The container name "/basexhttp" is already in use by container

You're attempting to create two different containers, each with the same name. Each time you execute docker run it will create a container, and you've named the containers the same with --name ...
user avatar
  • 2,700
3 votes
Accepted

Docker MongoDB image - How to specify credentials other than in the compose file?

Secrets support for mongo is built in. You can see in that image's entrypoint script that if you add _FILE to end of username/password values it will pull from those secret files. As for .js files, ...
user avatar
3 votes

How to do blue-green deployment with PL/SQL code?

Yes, it is possible, but it takes a bit of work. I assume that the concern with duplicating the database is 1) time and 2) size/storage, otherwise it seems like it would be trivial to spawn databases ...
user avatar
  • 3,655
3 votes

macOS testing on Desktop: Docker containers vs. Homebrew installation

One of the cons of Homebrew for the use of testing your DB stuff is how tightly coupled the DB is to your local environment. You'll inevitably end up needing to manage the details of what services ...
user avatar
3 votes

How should I store my environment variables?

If your environments are per customer, I would suggest in your specific case to have a repository per customer. (In general it is repository per environment.) This repository would have a standard ...
user avatar
  • 5,607
3 votes
Accepted

In a Database Per Service model - should i include the database in the service container?

Keep the DB containers separate. The concept of microservices and containers is to allow each part to be independently updated without introducing changes and outages to the rest of the application ...
user avatar
  • 2,700
2 votes

Google Cloud Storage vs Redis / ElasticSearch

We had the similar requirement as there needs to be a set of data cached in a server for serving the application (fast processing) and also by end of the day, we would need to sync the data from the ...
user avatar
2 votes

DynamoDB vs RDS for a counter store?

For question #1) I think this could perhaps be better answered on SoftwareEngineering SE. Nonetheless, I'll risk an answer: for this kind of information (states) coming from that kind of ...
user avatar
  • 1,925
2 votes

Cloud DB operator responsibilities / common tasks

The DBA is the person/role who is responsible for the availability, integrity and security of the organizations data. The responsibilities are the same regardless of the technology that happens to be ...
user avatar
  • 1,076
2 votes

simulate SQL DB usage pattern of a typical cloud native web app with sysbench?

... [I] can't say what exact app (shop, historic info, social media, forum) This makes this question very difficult to answer. This is because you have two basic types of queries: OLTP and OLAP ...
user avatar
  • 3,655
2 votes
Accepted

Creating ansible host_vars and group_vars files dynamically

The most elegant way would be to use dynamic inventory, rather than static inventory and dynamic group variables. However, if for some reason you don't want to do that, one other option is to use ...
user avatar

Only top scored, non community-wiki answers of a minimum length are eligible