/dbmswt/ - Database Management Systems War Thread

/dbmswt/ - Database Management Systems War Thread

What is the best database solution and why it is MongoDB(NoSQL)?

Seriously why people still use bloated boomer SQL DBMSs? Especially proprietary pajeet shit DBMS like Oracle, that even doesn't have proper Linux support.

Attached: 042117_Theodo_MongoDB.large.jpg (250x250, 8K)

Other urls found in this thread:

grimoire.ca/mysql/choose-something-else
knexjs.org/.
pgadmin.org/
bleepingcomputer.com/news/security/admin-accounts-with-no-passwords-at-the-heart-of-recent-mongodb-ransom-attacks/
eng.uber.com/mysql-migration/
twitter.com/SFWRedditVideos

>what is a database

PostgreSQL is good

Why should I use mongoDB instead of SQL? I've used mongo at work a few times. It's okay when you are fetching huge amounts of json and need to store it in a DB. However, for any other purpose, I don't see why I would pick it.

>JSON based dbms
>Called best dbms by OP

Good luck to deploy that in big environment where you need complex relational tables not just plain text JSON for storing usernames and salted passwords, retard.

/thread

MongoDB has no advantage over PostgreSQL, not even one

DB pleb here. Why would I use PostgreSQL over MariaDB or some other SQL implementation? I have 2 programming projects which I have stopped development on because I cannot determine which database I should use. Explain it to me like I am a brainlet (because I am)

>OgreSQL
>2018

KYS. you filthy brainlet.

Attached: y2uNb2I[1].jpg (645x729, 68K)

just use SQLite dumbo. its not like your project are going to become the next myspace

MariaDB is basically MySQL which goes with more traditional SQL syntax than Postgres. btw Postgres is more powerful and provides more features especially permission wise. Both has excellent Linux support and both are open sourced.

If your project simply needs database for username, passwords and other non relational staff I would choose MongoDB.

SQL is mammoth shit, that’s why.

The larger of my projects that I need a DB for is a game. I am specifically trying to make a clone of a very old online game (a MUD) which has had issues with user database corruption and is likely to go offline in the next few years. It has a huge world with hundreds of thousands of rooms (even though it is text based, it has a fully open-world 3d environment without specific paths to-from areas) and many items and mobs and things which I will procedurally copy as much as I can into a database. Originally I was going to use flat files. However, I suspect that using my own flat file db system would be more error prone and overall not as good of a solution.
What DB would be appropriate for that? Should I use SQLite? If so, why?

Mongo has links for relations.

Attached: Screenshot_2018-09-17-20-40-48.jpg (979x700, 82K)

You have to consider Sqlite locks when it's written. The problem of a flat file is loading flat files. If you have a file that has GBs it's pretty shit. What happens if the file is opened by two processes/users etc? When prototyping a nosql database is more forgiving if you don't know how to model your data, and you probably don't know how to model them. Concerning sql databases it does not really matter. Install and try them out. Try to solve some problems, look up solutions, you will probably find you favourite. To confuse you more there are also graphql databases

Attached: 1536524665374.jpg (730x1095, 76K)

Not using Excel for a DB AMATEUR!

You don't use a cheese knife for steak.

HSLeiden pls go

Have fun dealing with aggregate data retard

>MongoDB
Like mongoloidDB

Basically, PgSQL is a big-boy DB. Maria/Mysql are beginner DBs. MongoDB and the other NoSQL DBs are glorified memcached. They have their place, but if you need unstructured data there are a million ways to do that. DBs are for structured data. Postgres is better for actual DB work because it acts like one. If you don't need assurance that your data is not corrupted by half-finished inserts, MySQL/Maria is fine.

Anything other than relational or graph is not a general purpose database and should only be used in specialized cases. E.g., Redis for caching and CouchDB for client/server synchronization. MongoDB is only for massive horizontal scaling. If you aren't really sure, you don't need it.

And free() is a garbage collector.

No, it has exactly one advantage: horizontal scaling.

Ivan spotted.

yep it is

>salted passwords
If you're lucky.

>which goes with more traditional SQL syntax
What is that supposed to mean? MySQL/MariaDB molests SQL pretty hard.
grimoire.ca/mysql/choose-something-else

spalilsya

Are you going to scrape the world from the old MUD? That sounds like an interesting challenge.

Kind of. I'm going to map all the special areas and boundaries between different terrain types (and cliffs) using a mud client called tintin++. Some of this will be manual, but I'm already intimately familiar with most of the areas and have actually mapped them by hand in the past. Then I will have a script that reads in tintin's map files and adds the data to the DB

Are you going to recreate the objects and the mobs manually? Also, do you have a blog? I'd read it.

Nosql is only good if you are doing hadoop
get outta here with that mongodb shit

I've used both as a nooby webdev

The best part about mongoDB is that the node.js ORM is good, there's no migrations/schema to worry about, and it's little maintenance/brainless to use. It's the perfect DB for the "semi" backend developer AKA the front-end guy that is forced to work backend.

SQL on the other hand fucking sucks if you're a lone developer, the ORMs are awkward unless you use something like Rails + ActiveRecord, you have to maintain and worry about it at every step (lol SQL injections), write migrations (or generate them) and worry about scaling issues etc.


I can see why MongoDB is taught to noobs, because it's easier for the teacher and skips a huge portion of things that are required with SQL

>PostgreSQL is good
>not a single usable gui

Attached: 1518326620149.jpg (636x380, 90K)

>he needs a GUI to manage a database
>laughinggirls.wma

I'm not 100% sure what you are describing is something that should be implemented in a database. However, if you were to use a database for this I would look into a hierarchical database or graph database for the world stuff. If those don't fit your needs then look at a relational database. For users just use a rational database with some external sign on service like a Google or GitHub account.

It's worth noting that the players can add to the room data in a way that persists between reboots of the server. For example, if players walk over the same place in the wilderness often enough, it will form a trail and eventually a road. Players can also select plots of land in the wilderness to turn into a castle and city. Empty lots can be created and then shops can be built on those lots. These things all need to persist. That is the reason I feel a database is necessary. It's not like most MUDs where a reboot happens and everything resets back to normal. Some parts of the MUD do that, but even still, most of the equipment loaded is purchased from player owned shops by the MUD to outfit the mobs and so forth. Lots of persistence.

>SQL on the other hand fucking sucks if you're a lone developer
This really isn't the case. SQL, if you know how to leverage it, saves you thousands of lines of search and reporting code. Don't use an ORM. Learn a query builder like knexjs.org/. If you have to worry about SQL injections, you are do something very, very wrong.

pgadmin.org/

Pretty much all my new projects are redis/dynamo.

>redis
Step it up, sempai!

Attached: erlang.png (1132x596, 51K)

Is that work or personal projects? I'd hesitate to tie my own projects to AWS.

Can you respond to ?

im unironically wearing a mongodb tshirt rn my dudes

Pg10 now has far easier sharding now with Oracle-like PARTITION DDL. Mongo is still a clusterfuck to setup, meanwhile.

Anyone who doesn't use Postgres is a hopeless brainlet unless they have very specialized use case in mind or are using third-party apps that require mysql.

However by contrast there is no legitimate reason to EVER use MongoDB

Daily reminder that NoSQL databases are primarily used by people too stupid to properly design their database instead of for their proper use case. ACID is something to strive for not be scared of.

bleepingcomputer.com/news/security/admin-accounts-with-no-passwords-at-the-heart-of-recent-mongodb-ransom-attacks/

mongo is a nightmare at first but once you understand the pipeline shenanigans you are good to go, i preffer it over SQL.

I want to try maria and postgre next, wich one is easier to learn after working with mongo?

>Are you going to recreate the objects and the mobs manually?
Unfortunately, yes. I do not know of any way to fully automate this process. I might contact the main dev to see if he'd be willing to give me a full copy of the game to work with. That would make things a lot easier. If I can accomplish that, I'll just write some kind of conversion script (I'm not interested in keeping the original engine because it's written in a language that isn't used anywhere else, so I'd still port everything over)

>Also, do you have a blog? I'd read it.
I do not. It's an interesting idea. I do have a VPS I could set up a simple blog on. I'll consider the idea, but most likely I'd only make one or two posts per year.

Small brain: MongoDB
Normal brain: PostgreSQL
Galaxy brain: SQLite

MUH POOSTGRES MEME

eng.uber.com/mysql-migration/

the advantage is that mongo randomly drops/corrupts your data so that you don't have to worry about it anymore