Databases

Who is the king of databases?

>Embedded and single user
SQLite
>Common-use server
Postgres
>Massive-scale Server
???

Also, does anyone know of good GUI tools for postgres? Workbench has pampered me way too much and i cant find anything similar for postgres.

Attached: database.png (600x315, 9K)

Other urls found in this thread:

wiki.postgresql.org/wiki/Using_EXPLAIN
iswc2018.semanticweb.org/
neo4j.com/blog/rdf-triple-store-vs-labeled-property-graph-difference/
twitter.com/SFWRedditGifs

>gui
fuck off zoomer faggot

use postgres like a god damn man

MS-SQL
Oracle

>good GUI tools for postgres
dbeaver.

>use postgres like a god damn man

Writing raw feels like such a chore.

>dbeaver
Cheap copy of Heidi.
Quite curious case the Heidi Author, motherfucker went off the grid because he took this FOSS thing way too seriously

DB2
IMS HALDB

SAP

>future of big data
non-relational (MongoDB)
sparql
Better start learning about semantic web tech now before you get left behind.

Why is Mysql such a huge piece of shit?

mariaDB is the gentlemans database

>Massive-scale Server
Cassandra or any other distributed in-memory database.

Fuck off

SAP

>Nobody said MSSQL

Cringe. Ita literally the most popular

muh blockchain

mongodb. A nice javascript/json api, easy to use, fast, no need for orm.

How do you even create relationships between tables in Mongo

For massive scale, you need NoSql and there is no King in this category because it depend of the need.

The same way as you do in other databases. You have a field that is the same in both tables. You can then either write the code to create two seperate queries and then join them together, or you can use mongoose, which is an ORM. I prefer to write the extra lines of code because it really isn't that much and you write it once but it runs millions of times. Performance is more important to me.

>Massive-scale server
Apache Cassandra, it's some good shit.

Popular doesn't mean good.

banned

Genuine question for you database folks. I'm working on a machine learning project, and I'll need to save about 10 gigs of stock market data (price history, financial history, etc.) to train my model.

I'll be pulling all this data from publicly-accessible websites, but I need to store it locally for efficient access. I'll only ever write to the dataset once or twice a week, but I'll need to make thousands of reads every day.

The data is very structured — everything is determined by either just a stock's ticker symbol, or a combination of the ticker symbol and a date.

Is a SQL database a good solution for this, or would it make more sense to use noSQL? Which version(s) of each would you recommend?

Attached: 1510972184604.jpg (239x268, 47K)

but key associations.
let's say that a user has id: 1, and then all the data associated with that user has a field called user_id.

I really enjoy the freedom and performance that comes with MongoDB and other NoSQL databases. But I'm starting to look at BigTable/Cassandra.

That is a textbook use case for relational DB. However, Python is shit when reading using odbc, so explore loading everything from files.

You haven't described either the data or the queries.

>semantic web
haha you sound like my boomer ass uni prof

semantic web is a dead meme

HANA

>but I'll need to make thousands of reads every day.
SQL databases can't scale this much, you need something denormalized like Redis.

Why do you think a database is appropriate? It's just 10 gigabytes. Store it in flat files.

>SQL databases can't scale this much

Attached: 1393827217840.gif (194x172, 646K)

Why use flat files when you can use SQLite?

> >Massive-scale Server
> ???
Postgres, Oracle, MS SQL - choose whatever you want. Also, I'd say common server is MySQL.

Because it's more simple with OP's use case.

10 GB isn't much anyway, use whatever. Even flat files would be OK since Linux has filesystem read cache.

>semantic web
Tim Berners Lee posts on Jow Forums?

>postgres
postgres is deprecated

>Who is the king of databases?

Depends totally on your scenario..


>I want a simple and easy DB to store some stuff locally or for testing
SQLite

>I want a general purpose DB for my website
Postgres

>I want to do some "real" DB stuff like otimizing queries, automatic backups, huge loads of data..
MS SQL server
(even on linux since 2017)


******

Special corporate-c*ck-tier DB list:


>I want to store some records..
Excel

>..no, I mean with data queries and such stuff..
Excel with PowerQuery

>No, you don't understand. I need a RDBM system with REAL SQL and stuff..
Access

>Come to think of it I want to make a load of money by getting expensive certs to use overpriced products because MGMT said so..
Oracle DB

>But I want to be a special snowflake!
IBM DB2

>Uh, that looks kinda difficult.. Can I please get some $$$ without all this fancy-schmancy techincal stuff? I'll do ANYTHING, including disgusting stuff..
SAP HANA

At work we use a write once, read many times binary format which is several times (100x) faster than standard dbs.

I'd just serialise it to binary, and use hash buckets. You should be able to get great performance. Mind you market data tends to be absolute shit, even when you pay for it.

Your mom is deprecated.

> >I want to do some "real" DB stuff like otimizing queries, automatic backups, huge loads of data..
> MS SQL
Postgres supports all of that.

>adding overhead for no benefit
You are the reason we can't have nice software.

how do you think google got so popular?

None of your scenarios are real scenarios or ways people decide which database to use. You are not qualified.

> real men do database systems
kek

0.0000001 Ripple XRP has been deposited in your bank account.

> semantic web
Its 2018. We're not in the fucking 90's still, fuckstick.

> mysql
its been CoC'd simply by being part of LAMP

>Massive-scale Server
Oracle. MS SQL. Not even kidding.

... is stillborn, haven't you heard?

by enforcing the relationships in the application layer instead of the database, like any modern programmer

> nosql
> depend of the need ...
... need for cock in your ass

only to /pedo/

>2018
>still not using neo4j

Attached: Golang.png (800x341, 14K)

redpill me on graph dbs user

Attached: __original_drawn_by_qizhu__f1ca10771245725f430226afce5be8d5.jpg (3508x5584, 903K)

I'll take MS SQL over oracle any day of the week. Oracle might handle certain massive stuff better, but a total dev setup in an hour vs a day, fuck oracle. Ive never used postgre but i like the sound of it and intend to check it out. Haven't checked out nosql stuff yet cause i havent worked on dbs distributed enough to warrant throwing away the benefits of RDBMSs to shove most of the validation into the business layer.

I'm a bit disappointed there arent more mysql posters that i can laugh at. I'm always shocked how popular it is/was.

>Postgres supports all of that.

Hah, apparently Postgres has query optimization..
Intersting, it's been a while since I used Postgres but I didn't know that.

Are there graphical tools for Query plans and such stuff?

Also I just realized there's "PL/pgSQL", which seems to be inspired by Oracle's "PL/SQL".

I am not sure if this makes Postgres as powerfull as SQL server with T-SQL, because SQL server has a lot of functionalities..

But it's still intersting. In the past I used Postgres only for simpler tasks, maybe I should give it a second look.


>None of your scenarios are real scenarios

How so?
I've used most of the DBs I mentioned myself.

Maybe I forgot Redis which is for special purposes, but those are more or less my personal recommendations.

base accurateposter

It's one google search away user.
wiki.postgresql.org/wiki/Using_EXPLAIN

Basically you can export EXPLAINs as JSON and load them into third party analyzers.

>Also, does anyone know of good GUI tools for postgres?
Free: DbVisualizer
Paid: DataGrip
PgAdmin 3 is OK too, they fucked everything up with PgAdmin 4.

I never stated the semantic web was a new concept, but understanding semweb is critical if you are planning or are currently working with big data.

iswc2018.semanticweb.org/

Attend some time, there are many good workshops, from modular ontology modeling and deep learning to talks on decentralization of the semweb. Many reputable names, from freedom respecting gurus to hardcore enterprise bigwigs to members of W3C itself attend the conference, it is an excellent event for networking.

Oh well, SQL Server's Management Studio is pretty based, I doubt you could find a comparable tool for postgres.

But nevertheless, I already said that I should give Postgres a second look, no need to be annoying.

>Massive-scale Server
There isn't yet a clear leader in open source SQL databases with redundant master-master replication. CockroachDB may become one.

Database GUIs are boomer, not zoomer. Good desktop database GUIs (not PHP shit) are like a lost technology from the '90s/early 2000s that zoomers are unaware of.

Depends on what you're going to do with the data. How are you going to query it? Generally speaking, SQLite is plenty enough for 10 GB.

It really depends on the number of flat files. If it's going to be more than approximately 10K and they're going to be small, you will run into performance problems when accessing your data. You may be forced to use filename prefix subdirectories and other tricks to work around them. Past that point it is better to simply use a database.

this

apache cassandra all the way mydudes

discord uses it too

Does Neo4j have schemas yet?

Good for sparse data (most columns are null for any one row) and running graph algorithms without writing enormous CTEs. Not necessarily faster at running the same algorithms (according to studies), but faster to develop with. Hopefully the upcoming generation of graph databases like Dgraph with make schemas standard.

>sparql
Do RDF databases have any advantages over property graph databases like Neo4j?

Google aside, young prospects like these will just be left in the dust due to their jaded attitude and inability to cope with a constantly evolving industry.

You have a good prof, you should count yourself lucky.

I really hope something like the Semantic Web catches on and I believe you when you say it is a great event for networking, but where are the results? The web is become less standardized, not more. HTML is being replaced with JavaScript applications and proprietary JSON and now GraphQL APIs.

Depends on the use case.

neo4j has a very good article explaining the differences between and advantages of each:

neo4j.com/blog/rdf-triple-store-vs-labeled-property-graph-difference/

Tough to say, from my own experience and perspective major organizations only started to take interest six or so years ago, that interest has grown quite a bit, but whether or not semweb tech and standards are truly adopted large scale and whether or not that passes over to smaller fish remains to be seen.

>Massive-scale Server
Still Postgres. MSSQL if you need support.

Is MariaDB the correct choice if I'm looking to store personal information of thousands of people?
Also where can one learn the best practices for database management?

>his database doesn’t have referential integrity

Postgres is a little harder to set up, but it’s 100% ANSI, so your queries are guaranteed to work if you ever switch to another ansi database.

this is the correct answer.

Attached: comf.jpg (700x700, 169K)

FoundationDB or Spanner

Is there a good book that can teach me how to use SQL Server in the most optimal way? I work a backend dev (started a few months ago) and want to learn sql really well, because I really enjoy backend and want to get really good at it.

Oracle didn't want it to compete with their primary database product.

It was a huge piece of shit before Oracle bought it. If they wanted that, they should have bought PostgreSQL and ruined it instead.

Java JDBC and SQL

>Hah, apparently Postgres has query optimization..
So what? This isn't the late 90s, grandpa.
>I am not sure if this makes Postgres as powerfull as SQL server with T-SQL, because SQL server has a lot of functionalities..
Depends on the niche. Postgres is likely the best when it comes to spatial data, among other things.
The nice rule is: something is missing->you pass a nice amount of money to some service provider->you get it as a plugin
trips of truth
>so your queries are guaranteed to work if you ever switch to another ansi
That's basically worth nothing, since almost nobody cares about standard SQL. But then again, standard SQL is a retarded standard, so I can't exactly blame them. In the same way I can't blame MS to spit at C.

It was a huge piece of shit, but it was a huge piece of popular shit and they needed to make sure it stayed that way, despite its fame. The world runs on the toys that get used most and barely run good enough, user.

>Embedded and single user
H2/Hypersql or Rocksdb

>Common-use server
Postgres is ok, but actually the correct nosql db is easier to program for and will generally work better.

>Massive-scale Server
Cassandra is probably the most obvious contender. Others are also good, though.

>Why is Mysql such a huge piece of shit?
What?
Mysql is the only DBMS my shit college teaches, am i being memed on?

Attached: 1490434324788.jpg (1080x1920, 532K)

>Mysql is the only DBMS my shit college teaches, am i being memed on?
As long as you learn about relational databases, who cares.

>Postgres is a little harder to set up, but it’s 100% ANSI, so your queries are guaranteed to work if you ever switch to another ansi database.

I cannot fathom how being 100% ANSI could be a good thing

MySQL has a shitload of weird platform specific quirks. Keep your queries to ANSI SQL whenever possible.
PostgreSQL is the champ of open source RDMSs. As for commercial ones, I like Microsoft SQL Server simply because it isn't Oracle.

Really any of the major RDBMSs are worth learning though. If you were learning Mongo or some cloud document store shit I'd say you wete getting meme'd hard.

The ability to jump DBEs with little fanfare without using a 30 ton slow as a dog ORM is underappreciated. And if you stick to ANSI when you can, your personal library of SQL snippets for analytical queries can be used anywhere.
Sometimes ANSI just doesn't cut it, but 99% of the time it does.

Is database admin a job? Just working with databases or is that part of sysadmins job?

10GB is barely anything. For reference, we have hundreds of mysql instances ranging from ~500GB to 4.5TB. Your stock setup of MySQL will work fine.

sysadmin is a general IT term. DBA is definitely a career path. Good DBAs are invaluable.

They use it for storing metadata about where messages/guilds/etc live, the actual content lives in one of many elasticsearch clusters they have which is routed based on the data in cassandra, cached via redis. Though, the amount of data they have is small.

Sysadmins are normally retarded computer janitors. Yes, database admin is a job. It's difficult and requires a lot of real expertise, but it pays well, and it's a respectable career.

>thousands of reads every day.
You mean a second, right? A filing cabinet could handle this level of throughput

>GUI
Why though? Basic command line editing capabilities is enough for most use cases. I am partially in charge of my country's educational sector's planning and the most I ever deal with is a few dozen tables, so it isn't like you'll benefit much from auto-completion, what is more the language itself is minuscule. If you feel like being pampered then emacs's sql-mode is more than enough, if you know your elisp you can go Super Saiyan and use the existing and excellent comint-mode to write a custom augmented REPL mode à la SLIME.
There are a bunch of java based solutions, I liked Squirrel when migrating and dealing with differing databases thanks to its many db drivers (postgres, mysql, ms server, ms access, sqlite3...)

Oracle is ass

Opinions on Datomic?

>A filing cabinet could handle this level of throughput
Imagine a frantic, overworked secretary running back and forth between her desk and a filling cabinet twice a minute to look up records, smash them together, and type them into a template.

Attached: Thelastparrotsoundslikethatangrylittlemidget_3f0a12b29c090302535b30185fe12a87.jpg (473x427, 85K)

>Who is the king of databases?
SAP HANA

This is going to be a brainlet question, but what is a database used for?

>inb4 "storing data"

>Massive-scale Server
postgres
do you not know how it's designed? it scales infintely lol