Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
Arcteryx Anarchist
Sep 15, 2007

Fun Shoe

Rex-Goliath posted:

because you can store full entities which can be as complex as you want without having to deal with setting up all the tables and relationships first. if you’re using xml you can also use namespaces to version your schema which allows you to refractor data on a production system with zero downtime or gymnastics which is nice

this smells like MarkLogic evangelism


Rex-Goliath posted:

if you know what you’re doing though you can build some pretty crazy poo poo in months that would be effectively impossible for a relational system

like healthcare.gov :shuckyes:

Adbot
ADBOT LOVES YOU

Share Bear
Apr 27, 2004

gonadic io posted:

There is always a schema. Whether this schema explicitly exists in a file, or is implicitly constructed by the fields that the code looks for is up to you.

:boom:

Share Bear
Apr 27, 2004

i wonder how much computational power is spent both serializing and deserializing json

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat

Share Bear posted:

i wonder how much computational power is spent both serializing and deserializing json

anything > 0 cycles is a waste imho

abigserve
Sep 13, 2009

this is a better avatar than what I had before
apache did this https://avro.apache.org/ so I'm going to guess a heckin' lot

jre
Sep 2, 2011

To the cloud ?



Rex-Goliath posted:

refractor data on a production system with zero downtime or gymnastics which is nice

lol

Arcteryx Anarchist
Sep 15, 2007

Fun Shoe
https://en.wikipedia.org/wiki/Comparison_of_data_serialization_formats

there's no shortage

jre
Sep 2, 2011

To the cloud ?



Rex-Goliath posted:

if you know what you’re doing though you can build some pretty crazy poo poo in months that the victim company will spend millions fixing for the next decade

Farmer Crack-Ass
Jan 2, 2001

this is me posting irl
what if you just used a filesystem as a database? wouldn't that be like peak unix because ~everything's a file~

abigserve
Sep 13, 2009

this is a better avatar than what I had before

Farmer Crack-rear end posted:

what if you just used a filesystem as a database? wouldn't that be like peak unix because ~everything's a file~

I would also like to know what the downside of doing this is for small document stores

just a giant directory, and the index is the file name

PIZZA.BAT
Nov 12, 2016


:cheers:


bring back the mainframe it was wrong for us to have ever left it

Roosevelt
Jul 18, 2009

I'm looking for the man who shot my paw.


i did this at the last company i worked for and quit my job. now i'm doomed to forever look over my shoulder for the guy who replaced me.

PIZZA.BAT
Nov 12, 2016


:cheers:


abigserve posted:

I would also like to know what the downside of doing this is for small document stores

just a giant directory, and the index is the file name

besides the db handling resource contention and consistency, nothing really. how is that even different from small data sets that you can hold in a single file that you load at run time?

Deep Dish Fuckfest
Sep 6, 2006

Advanced
Computer Touching


Toilet Rascal
destroy every last database they are the man's tool for keeping us down and branding us like cattle rise up rise up

except mongo it may or may not brand you as cattle depending

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

abigserve posted:

I would also like to know what the downside of doing this is for small document stores

just a giant directory, and the index is the file name

the downside is that most filesystems are sort of shockingly bad at reliably storing data. with postgres you can safely assume that if you insert a row, subsequent queries will either not see that row or will see the complete row that you inserted. doing this with a filesystem requires an akward dance of writing to a temporarily file, fsyncing it (and then calling the non-portable real fsync for your platform that actually works) and then moving it to the final location and praying that moves are actually an atomic operation.

Deep Dish Fuckfest
Sep 6, 2006

Advanced
Computer Touching


Toilet Rascal
thankfully if you're in nosql land you probably don't care about any of that in the first place

just yolo that poo poo to disk

My Linux Rig
Mar 27, 2010
Probation
Can't post for 6 years!

Rex-Goliath posted:

because you can store full entities which can be as complex as you want without having to deal with setting up all the tables and relationships first.

cool so it enables me to be super sloppy with my design

PIZZA.BAT
Nov 12, 2016


:cheers:


My Linux Rig posted:

cool so it enables me to be super sloppy with my design

my current client has multiple different applications using the same tables to store different data. relational isn’t some magic wand to fix stupid like some of you are pretending it is

suffix
Jul 27, 2013

Wheeee!
defining a schema is a-ok but managing schema changes gets tired quickly

that said i only see document databases proposed in the worst places, like "that place we keep writing inconsistent data to? the one we do tons of ad-hoc queries on? let's use a semipersistent key-value store with two supported language bindings"

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
imo a good use for memory based document sores is as an ephemeral cache when you want a more powerful queries than you get with a typical k/v store.

suffix
Jul 27, 2013

Wheeee!

abigserve posted:

apache did this https://avro.apache.org/ so I'm going to guess a heckin' lot

avro is mysteriously slow, i've never seen a benchmark where it parses faster than json
no real reason it should be that way afaik but for current implementations thrift or protocol buffers will beat it handsomely if you're worried about cycles :shrug:

suffix
Jul 27, 2013

Wheeee!
i wish i had an excuse to gently caress around with foundationdbs document and record layers at work but atm storing our data in foundationdb instead of the existing mysql database would be the purest of wankery

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

suffix posted:

defining a schema is a-ok but managing schema changes gets tired quickly

that said i only see document databases proposed in the worst places, like "that place we keep writing inconsistent data to? the one we do tons of ad-hoc queries on? let's use a semipersistent key-value store with two supported language bindings"

writing code that deals with objects with a bunch of different shapes because you didn't migrate the existing data to the new schema is pretty tiring too

abigserve
Sep 13, 2009

this is a better avatar than what I had before

suffix posted:

avro is mysteriously slow, i've never seen a benchmark where it parses faster than json
no real reason it should be that way afaik but for current implementations thrift or protocol buffers will beat it handsomely if you're worried about cycles :shrug:

for reference I would never use avro over protocol buffers or regular json and in fact when i had the explicit option recently I serialized JSON itself

but I reckon the fellas at apache know more about it then I do and the concept of it makes sense, so it must have some use

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat

Farmer Crack-rear end posted:

what if you just used a filesystem as a database? wouldn't that be like peak unix because ~everything's a file~

from earlier:

DONT THREAD ON ME posted:

i've been reading about this revolutionary new document store called a file system

Tankakern
Jul 25, 2007

After review, Fedora has determined that the Server Side Public License v1 (SSPL) is not a Free Software License.

you're not finding a new mongodb in fedoras repos anytime soon

Cybernetic Vermin
Apr 18, 2005

suffix posted:

defining a schema is a-ok but managing schema changes gets tired quickly

that said i only see document databases proposed in the worst places, like "that place we keep writing inconsistent data to? the one we do tons of ad-hoc queries on? let's use a semipersistent key-value store with two supported language bindings"

i sort of have the opposite view: designing a schema and the software that operates on it is indeed duplicated and not very useful work, when it comes to schema migration, management and general future-proofing though the schema is great to have

overall the schema bit ought to integrate better still with type systems, typically any error from the database is just fatal: the software is unlikely to have the means to understand or even report it in an intelligible way (this is where i as usual allude to kx k/q where tables are first class types). still, even without that whenever you find yourself having two systems interacting with the same database (even if, as will often be the case with nosql stuff, one gatekeeps for the other) a reasonably powerful schema system and well designed schema is great

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat

they should also retroactively remove all the old versions, too

akadajet
Sep 14, 2003


BangersInMyKnickers
Nov 3, 2004

I have a thing for courageous dongles

good news

Only registered members can see post attachments!

DELETE CASCADE
Oct 25, 2017

i haven't washed my penis since i jerked it to a phtotograph of george w. bush in 2003

Cybernetic Vermin posted:

typically any error from the database is just fatal: the software is unlikely to have the means to understand or even report it in an intelligible way

one nice thing about spring is that it translates the garbo jdbc exceptions into a useful hierarchy, so you can actually catch them and recover. almost nobody does, though (they're not checked exceptions)

Tankakern
Jul 25, 2007


oh man, why did i focus on fedora

rhel 8 wont have mongodb available, that's gotta hurt

Arcteryx Anarchist
Sep 15, 2007

Fun Shoe
does this mean people running ubuntu in prod will feel vindicated?

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

lancemantis posted:

does this mean people running ubuntu in prod will feel vindicated?

no, if they were running a proper server os they'd be free from mongo

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





suffix posted:

avro is mysteriously slow, i've never seen a benchmark where it parses faster than json
no real reason it should be that way afaik but for current implementations thrift or protocol buffers will beat it handsomely if you're worried about cycles :shrug:

avro isn’t designed to be fast to serialize/deserialize it’s designed to be fast to query. it’s a column store as a file like orc or parquet. the rpc stuff is mostly just so you can have a single byte encoding end to end

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat
yeah avro is designed to be transparently forward/backwards compatible, not just "make this into a string".

gonadic io
Feb 16, 2011

>>=

CRIP EATIN BREAD posted:

yeah avro is designed to be transparently forward/backwards compatible, not just "make this into a string".

then why do we have so many different avro versioning issues and have to hard-break i.e. upgrade two apps at the same time so often??

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





gonadic io posted:

then why do we have so many different avro versioning issues and have to hard-break i.e. upgrade two apps at the same time so often??

have you considered the possibility you are wrong and bad? avro writes the schema into the file so you’re either overriding that or explicitly providing a read schema instead of getting it from the file

Captain Foo
May 11, 2004

we vibin'
we slidin'
we breathin'
we dyin'

Bing if u string

Adbot
ADBOT LOVES YOU

Notorious b.s.d.
Jan 25, 2003

by Reene

lancemantis posted:

does this mean people running ubuntu in prod will feel vindicated?

ubuntu also will not include mongodb, probably

debian already decided to drop it, and ubuntu typically just has outdated versions of whatever debian shipped

  • Locked thread