eli5: what does it mean to “delete the production database”?

1.11K viewsOtherTechnology

i have absolutely no experience or knowledge in IT/computer science whatsoever. i saw a post about someone who messed up at work by ‘deleting prod’, and apparently that’s a super big deal. google isn’t helping bc i don’t understand any of these CS terms.

In: Technology

25 Answers

Anonymous 0 Comments

You have two treasure chests filled with exactly identical toys. One chest is called “test”, the other is called “production”. Both chests are extremely identical in every way and contain the same toys. You, as the parent, have full access to both chests, but your child only has access to production.

The “test” chest is where you can put new toys to see if it’s suitable for your child to play with, or that the new toys won’t destroy any of the existing toys. If nothing breaks and all the new toys play nicely together, you then put an exact copy of the new toy into the “production” chest.

Pretend that one day, you decide to throw out the production cheat (i.e. “delete the production database”) and now your child has no toys to play with and they are extremely upset.

USUALLY you have a “backup production” toy chest hidden in your closet that you can take out incase you ever throw out the production chest, it just takes some time to setup so your child can play again.

Anonymous 0 Comments

Imagine you have a bank vault (production data base). The bank vaults location is NewYork/Bankstreet/Vault7.

You also are testing a new door for your vault. So you build an identical building next door (test data base). Its at NewYork/Bankstreet/Vault8. Only the door installers, and people to test that door are allowed in the building. All your customers go to Vault 7.

Now you make a mistake. You call your builders, and tell them: “The new vault door doesn’t work, we will start over with a different design! Demolish NewYork/Bankstreet!”. Oops, you forgot to put “/Vault8” behind it. And sadly your builders are stupid, they just do what they are told.

So the next day you go to NewYork/Bankstreet and what do you see? They have demolished both of your buildings! Maybe they even demolished the whole street!

Your customers are complaining they can’t access their stuff in your vault. If the whole street is gone you have a real big disaster.

Imagine if you told them to delete “NewYork”, then the mayor (CEO) may knock on your door.

Hopefully the city made a photo (backup) of the city every now and then, and it can quickly be rebuild the way it was in the last photo. Still, untill that’s done it might take some days too, and people are without access to their stuff. (Let’s assume you have robots that can rebuild stuff super fast and accurately).

Oh, and if your city is not incompetently run, you wouldn’t even have the right to order the whole city demolished. The builders would say: Nope can’t do the police won’t let us. Only the mayor can order the City demolished. You only have a permit for NewYork/BankstreetVault7 and NewYork/BankstreetVault8. And they might have standing orders to always ask for a passcode before demolishing the Vault 7.

Anonymous 0 Comments

ELI5 answer:

“Production” means that paying customers are using it. Normally, software companies develop their software and make changes to it in a “development” environment. This means no customers are affected by it. Only developers can log in. Once it has been tested, it can be “moved to production” meaning that customers will get the new version.

If you delete the production database, you are deleting all of the data that customers use. For example, their accounts will be deleted preventing them from logging in. If they had any settings or configuration, those will be deleted too. The customers will not be happy about this!

Anonymous 0 Comments

thanks everyone, i understand now! praying for the og poster who said he deleted it and went home instead of telling his boss…

Anonymous 0 Comments

To start, a database in this context is like a big book full of all kinds of information. This is all of the information you see in an application; text, images. The front end of the application is code that is asking for information from that book to be displayed to the user in a way that makes sense.

To build apps developers usually have 3 versions of the code and the database: Production, Staging, Development. Then each developer pulls/pushes the code they work on between their local machine and development which makes for a kind of 4th environment.

When the team is done working on a particular feature in development, they will push that to staging. Staging is meant to be as close to production as possible for testing. If everything checks out staging is pushed to production and the users now have a new version of the app.

In a perfect world developers never write code or work with the database in production for safety reasons. So it would be incredibly rare to delete the production database completely in development work flow that is properly controlled. Even if it did happen, it would be even more rare for there not to be a backup of production. And when pushing updates from staging to production, it is not uncommon for teams to clone production again and practice pushing from staging to production so that they can minimize issues in the workflow before doing doing it live.

Anonymous 0 Comments

Do you work for at&t?

Anonymous 0 Comments

Think of it like falling over playing football/soccer.

You can do it in your garden (development server) with no one around.

You can do it at training in front of people who know this shit just happens sometimes (test server).

Or you can do it live in a stadium where everyone watches you being a fool (live production server).

Basically if someone deleted the production server they skipped at least one if not two steps and made a fool of themselves in front of everyone.

Anonymous 0 Comments

Let’s say you have a 20 page paper that you’ve spent 10 weeks researching and writing out your ideas. Instead of losing 2 hours of progress because you forgot to save before closing Word, you accidentally delete the final draft losing everything that you’ve worked on.

Anonymous 0 Comments

Most applications use information to perform whatever it is meant to perform. Databases are commonly used to store information. Production is the live application (there are commonly other ‘environments’ where different phases of application development occur).

Deleting the production database is simply removing the database that powers the live application and breaking the application.

Anonymous 0 Comments

Imagine you’re an artist, and I paid you for a drawing. You want to make sure the drawing comes out great, so you draw a few sketches to plan it all out before you go ahead with the “real” drawing. When you’re done with the whole project, those sketches are now useless, so you throw them out. Except you make a mistake, and throw out my drawing instead of the sketches.

You just deleted prod.

Or, if you prefer: imagine you meant to send a sexy message to your girlfriend Monica but “Mom” comes just before “Monica” on your phonebook, so you sent it to your mom instead.

One of the best features of working with software, from an engineering point of view, is that computers are cheap, and making copies of your work is basically free. I can turn one program into ten programs in a way a civil engineer can’t turn one building into ten. So it’s more or less standard practice in software engineering to have multiple copies of your software running in parallel, each for a different purpose. The exact collection of such copies (“environments”) varies, but it’s more or less universal that one is the “production” environment that your customers actually use, and then you have a “test” environment where your developers can test how pieces fit together, you might also have a “QA” environment that is as close to production as possible so your quality assurance people can validate it, and a few others.

(A common joke is that every company has a test environment, but some are fortunate enough to also have a separate production environment)

Obviously, when you have multiple nearly-identical copies of the same thing, one of the most common mistakes you can make is that you’ll issue commands to wrong copy. You can reliably tell how competent a company is at software development by how hard they make it for their employees to make such mistakes.