20:33:41 StephenLynx and mongo makes more sense than a relational DB for something like livechan.
20:34:02 StephenLynx since mostly is just storing and reading posts.
20:34:08 __uguu__ a relational db makes more sense than mongodb most of the time include with livechan
20:34:18 __uguu__ including*
20:34:33 StephenLynx a relational db makes sense when you need transactions, relational integrity
20:34:35 StephenLynx joins
20:35:03 __uguu__ and with livechan, you want to have transactions
20:35:11 StephenLynx really?
20:35:13 __uguu__ that way stuff is done in order without drops
20:35:14 __uguu__ yes
20:35:26 StephenLynx what is done in order without drops?
20:35:32 __uguu__ every database action
20:35:52 StephenLynx most of its actions are read and write atomic pieces of data, the posts.
20:35:56 __uguu__ i don't want mod actions to be dropped
20:36:22 __uguu__ i want to be sure that the database access is atomic
20:36:37 StephenLynx which it already is by nature.
20:36:43 StephenLynx mod actions are a very small part of its work.
20:36:47 __uguu__ if someone is hitting the site with 300 posts per second i want to be able to ensure everything is atomic
20:36:48 StephenLynx to justify a need for transactions.
20:37:04 __uguu__ if it gets to the point where it starts dropping posts that's bad
20:37:10 StephenLynx if someone is hitting the site with 300 posts per second you are getting flooded.
20:37:12 __uguu__ that would mean i can't send mod requests
20:37:28 __uguu__ StephenLynx: that is correct and that means i need to be able to ensure that mod requests get done
20:37:41 __uguu__ StephenLynx: hence transactional integrity
20:37:47 __uguu__ it's required
20:37:48 StephenLynx if you detect a flood you are not hitting the database anyway.
20:37:56 StephenLynx because you dropped the request before that.
20:38:00 __uguu__ ._.
20:38:10 __uguu__ if i am getting hit by flood then other posts will drop
20:38:22 __uguu__ including critical mod actions
20:38:30 StephenLynx and its much more easier to overload with a transaction database because of its overhead.
20:38:40 __uguu__ you NEED transactional integrity
20:38:43 StephenLynx you don't.
20:38:58 StephenLynx you are using an edge case and a very small part of its working to justify a whole database.
20:39:19 __uguu__ using mongodb from the start is unneeded optimization
20:39:32 StephenLynx proper design is not optimization.
20:39:34 __uguu__ if a relational db doesn't scale then caching will be added
20:39:38 __uguu__ lol
20:39:47 __uguu__ mongodb isn't used in any proper design
20:39:51 StephenLynx :^)
20:40:12 __uguu__ mongodb is about as useful as devnull
20:40:26 __uguu__ anything that drops inserts is garbase
20:40:28 __uguu__ anything that drops inserts is garbage
20:40:37 StephenLynx lel
20:40:44 StephenLynx you are really biased.
20:40:45 __uguu__ 'but it's faaaast' <-- so is devnull
20:40:58 __uguu__ StephenLynx: have you used mongodb in production?
20:41:02 StephenLynx yes.
20:41:08 StephenLynx hub1.org uses it.
20:41:10 __uguu__ StephenLynx: have you ever migrated a mongodb db?
20:41:14 StephenLynx no.
20:41:17 __uguu__ that's why
20:41:31 StephenLynx from what I heard its easy to do so.
20:41:32 __uguu__ try migrating off mongodb to anything else
20:41:36 __uguu__ it's not
20:41:37 StephenLynx lol
20:41:41 StephenLynx are you serious?
20:41:45 StephenLynx that is not an issue with mongo.
20:41:46 __uguu__ you have no transactional integrity
20:41:51 __uguu__ you loose data
20:42:02 StephenLynx you don't lose data.
20:42:02 __uguu__ when you migrate this is painfully obvious
20:42:10 __uguu__ yes, you do.
20:42:45 StephenLynx when you migrate its obvious you will have issues because you probably migrated to a relational database, which requires a complete overhaul of the schema.
20:42:55 StephenLynx that is not an issue with mongo.
20:42:55 __uguu__ when you have over 50k records to migrate you'll see that when you migrate mongo drops
20:43:05 StephenLynx that is why you use mongoexport.
20:43:24 StephenLynx and first you write all the data to something and then you use this data to import to the new deploy.
20:43:28 __uguu__ that's an offline tool right?
20:43:46 StephenLynx yes, it is used to migrate from one mongo deploy to other.
20:43:50 __uguu__ live migration
20:44:03 __uguu__ in the real world, you don't get downtime
20:44:21 StephenLynx yeah, right, that is why wow goes offline every week for maintenance, right?
20:44:40 __uguu__ idk i don't work at blizzard
20:44:54 __uguu__ if your db requires downtime it sucks
20:45:02 __uguu__ /end
20:45:12 StephenLynx doing a full migration to a completely different platform is not "requiring".
20:45:36 StephenLynx mongodb don't need downtime for adding machines to a cluster.
20:45:48 StephenLynx or to replicate data to a backup server.
20:45:48 __uguu__ doesn't matter
20:45:57 StephenLynx aah, not it doesn't matter :^)
20:45:57 __uguu__ it's still an objectively horrible db
20:46:00 StephenLynx now*
20:46:08 StephenLynx says you.
20:46:14 __uguu__ because i've used it
20:46:14 StephenLynx craiglist uses it.
20:46:20 StephenLynx 4square uses it.
20:46:26 __uguu__ doesn't mean i need it
20:46:32 StephenLynx but hey, random guy on internet probably knows more than then.
20:46:36 __uguu__ it's bad for the archetecture
20:46:41 StephenLynx says you
20:46:44 __uguu__ fak i need coffe
20:46:47 __uguu__ WORK COFFE
20:46:53 __uguu__ WORK
20:46:55 StephenLynx forbes uses it too.
20:47:01 StephenLynx but random guy on internet knows better.
20:47:03 __uguu__ doesn't mean it replaces a rdb
20:47:06 __uguu__ ever
20:47:14 StephenLynx in a case where it fits better than a rdb
20:47:15 StephenLynx it does.
20:47:24 __uguu__ which are edge cases that barely apply to anyone
20:47:28 StephenLynx and livechan is one of these cases.
20:47:31 __uguu__ and it's "Web Scale"
20:47:38 __uguu__ no it's not
20:47:39 __uguu__ :>
20:47:40 StephenLynx it is.
20:47:44 __uguu__ nope
20:48:02 StephenLynx you don't need joins, your data is self-contained, the bulk of the operations are read and writes.
20:48:06 __uguu__ a relational database gives me the query power that i need
20:48:17 __uguu__ StephenLynx: it's not like it'll use sqlite
20:48:35 __uguu__ i kinda do need joins
20:48:36 StephenLynx mongodb queries are much more comprehensible
20:48:58 __uguu__ sql joins and the usable parts of sql make sql really usable
20:49:10 StephenLynx I didn't said it wasnt.
20:49:10 __uguu__ ugh, why isn't coffee working yet
20:49:16 StephenLynx I said mongodb queries are clearer.
20:49:26 __uguu__ mongodb queries are less powerful
20:49:38 __uguu__ "clearer" is irrelevant
20:49:46 StephenLynx because you don't require 2 languages in the same code and they can't be checked for errors by your editor.
20:49:53 StephenLynx define "powerful".
20:50:02 __uguu__ the power of postgres sql
20:50:06 StephenLynx which is
20:50:12 StephenLynx you are just throwing random words.
20:50:15 __uguu__ the power of sql? have you ever even used sql?
20:50:25 __uguu__ have you ever used joins?
20:50:26 StephenLynx yes I have plenty of experience with sql.
20:50:36 StephenLynx I know how great joins are.
20:50:54 __uguu__ i like being able to use joins in my queries and mongodb drops
20:51:10 StephenLynx are you able to use sub-documents and arrays in sql?
20:51:18 StephenLynx having actual objects in the database?
20:51:20 __uguu__ those are my reasons for using postgres not mongodb for livechan
20:51:31 __uguu__ why would anyone ever do that? that's retarded.
20:51:35 StephenLynx aaaaaaaah
20:51:47 StephenLynx so only the tools that sql has and mongo doesn't are needed?
20:51:55 StephenLynx the ones mongo has and sql doesnt are retarded and useless?
20:51:59 StephenLynx :^)
20:52:04 __uguu__ you're retarded lol
20:52:07 StephenLynx no, you are.
20:52:11 __uguu__ nou
20:52:29 StephenLynx having sub-documents on an entry eliminates the need for joins in most cases.
20:52:46 __uguu__ storing documents in the database is fucking retarded
20:52:50 StephenLynx but you say they are useless because you are blinded by bias.
20:52:52 StephenLynx HAHAHAHA
20:52:57 __uguu__ like big blobs
20:52:59 __uguu__ why?
20:53:05 StephenLynx is not a blob.
20:53:36 __uguu__ go shill mongodb in #node.js with the sjw kids
20:53:37 StephenLynx and yeah, of course you know more than craiglist and forbes and all those people running multi-milionaire business
20:53:42 StephenLynx u mad?
20:54:00 >> Tenicu (~Tenicu@unlimited.rerailment.works) has joined #8chan-dev
20:54:01 __uguu__ i don't have the needs of a fortune 500 company
20:54:12 __uguu__ facebook uses postgres
20:54:14 __uguu__ :>
20:54:14 StephenLynx but you know better than then, right?
20:54:26 StephenLynx yeah, but this is the difference
20:54:32 StephenLynx I never said RDBs are useless and retarded.
20:54:37 __uguu__ in the end, it doesn't matter that jim shitty uses mongodb
20:54:38 StephenLynx I just said they are not fit for ALL cases.
20:54:49 StephenLynx forbes == jim shitty now.
20:54:50 StephenLynx noted.
20:55:16 __uguu__ i am saying that the edge cases that mongodb fills are not worth the pain vs using a relational db
20:55:22 StephenLynx they are not edge cases.
20:55:26 __uguu__ you just said they are
20:55:28 StephenLynx and you said document based dbs are retarded.
20:55:35 StephenLynx I didn't. paste it.
20:55:46 __uguu__ you don't store "documents" in a database
20:55:48 StephenLynx and using mongo its easier than sql.
20:55:52 StephenLynx mongo does.
20:56:00 __uguu__ that's why it's retarded
20:56:21 __uguu__ just because something is easier doesn't mean it's the best way
20:56:32 __uguu__ sometimes it's better to have the power of sql
20:56:35 __uguu__ and joins
20:56:36 StephenLynx again
20:56:51 StephenLynx sql can't have sub-documents, which eliminates the need for joins in most cases.
20:57:05 StephenLynx and relations.
20:57:08 __uguu__ storing documents in a db is retarded
20:57:17 StephenLynx random guy on internet knows better
20:57:18 StephenLynx lel
20:57:29 __uguu__ says the random goy on a weeabo irc
20:57:33 __uguu__ ayyy
20:57:35 StephenLynx again
20:57:41 StephenLynx I never said any tech was retarded.
20:57:50 StephenLynx I never dismissed sql usefulness.
20:58:01 __uguu__ you didn't but you're shilling a pile of garbage
20:58:06 * __uguu__ goes back to work
20:58:12 StephenLynx lel
20:58:22 StephenLynx you are no different than PHP devs, you know?
20:58:35 __uguu__ php is an objectively bad language
20:58:51 StephenLynx "yeah, this is the best thing, everything else is retarded and useless. oh yeah, I know only this thing, but that is not why I believe its the only useful and sane option"
20:59:29 __uguu__ i am not saying that rdb are the only thing, key value stores are awesome, mongodb is not.
20:59:44 __uguu__ redis is awesome
20:59:55 __uguu__ memcached is awesome
21:00:04 __uguu__ mongodb, not awesome, just pain.
21:00:07 << Tenicu (~Tenicu@unlimited.rerailment.works) has quit (Remote host closed the connection)
21:00:39 StephenLynx but you said said that because something its easier to use it doesn't mean it is be the best choice.
21:00:46 StephenLynx why is mongo hard to use?
21:00:53 StephenLynx its queries are much easier to be composed and debugged.
21:00:58 __uguu__ it's not hard to use, it does everything poorly.
21:01:07 StephenLynx define poorly.
21:01:10 __uguu__ it's supposed to be a database
21:01:17 StephenLynx it beast by miles rbs in performance.
21:01:22 StephenLynx rdbs*
21:01:31 __uguu__ ...and it does that by dropping
21:01:34 __uguu__ which
21:01:35 __uguu__ is
21:01:37 StephenLynx it never dropped anything with me.
21:01:37 __uguu__ retarded
21:01:53 __uguu__ that's because you don't have the volume
21:02:16 StephenLynx ok, what evidence you have to corroborate your affirmation is drops data regularly?
21:02:22 >> Tenicu (~Tenicu@unlimited.rerailment.works) has joined #8chan-dev
21:02:29 __uguu__ once you scale up and get fuckloads of activity with mongodb you start to see that it sucks in that regard
21:02:42 StephenLynx ok, show me why it sucks in that regard.
21:02:55 __uguu__ personal experience and everyone else that has seen stuff drop and suffer because of it
21:02:56 StephenLynx I know someone who has a project with 24 tb or so with data that operates with mongo.
21:03:11 StephenLynx ok, so is just your word?
21:03:15 __uguu__ not just mine
21:03:29 StephenLynx ok, so show me these other testimonies.
21:03:29 __uguu__ go ask someone that stopped using mongodb
21:03:38 __uguu__ why do i have to prove anything?
21:03:47 StephenLynx why are you arguing them?
21:04:06 __uguu__ you are advocating mongodb as something good when it's (by design) a horrible thing.
21:04:12 StephenLynx says you.
21:04:24 __uguu__ databases do not drop, that is holy law.
21:04:25 StephenLynx forbes says otherwise, craglist says otherwise.
21:04:33 StephenLynx mongo doesn't drop.
21:04:34 __uguu__ who cares
21:04:42 __uguu__ forbes doesn't have what i have
21:04:53 StephenLynx yeah, you probably have more than then, of course.
21:04:55 __uguu__ $person uses mongodb
21:04:58 StephenLynx and craiglist.
21:05:00 __uguu__ that doesn't mean it's good
21:05:10 __uguu__ $entity uses mongodb
21:05:16 __uguu__ doesn't say anything
21:05:18 StephenLynx random guy has issues, it doesn't mean random guy used it right or is intelligent.
21:05:20 __uguu__ just means someone shilled it
21:05:25 StephenLynx so why should I trust you?
21:05:26 __uguu__ lol character debasing
21:05:36 StephenLynx you just used the same argument.
21:06:29 StephenLynx can mysql or postgre query based on geo-location of data?
21:06:43 __uguu__ can it insert without drop?
21:06:50 StephenLynx yes.
21:07:12 __uguu__ can it do that 100% of the time?
21:07:24 StephenLynx yes.
21:07:49 StephenLynx unless some external factor fucks up, which can happen with any database.
21:07:55 __uguu__ yes unless is not yes
21:08:15 StephenLynx so can mysql insert without a failure 100% of time even if the server is on fire?
21:08:18 StephenLynx holy shit
21:08:47 StephenLynx that is some high level wizard over there, nigga
21:09:08 StephenLynx can you prove me mongo fails at a significant rate?
21:09:12 __uguu__ i have better things to do than argue with a 19 y/o
21:09:16 StephenLynx lel
21:09:18 StephenLynx :^)
21:09:31 StephenLynx did I trigger your bias?
21:09:40 StephenLynx the fact you can't learn new technologies?
21:09:47 StephenLynx so you just dismiss them?
21:09:49 __uguu__ no i am just being an adult and not arguing with children
21:09:57 StephenLynx u mad?
21:10:09 __uguu__ you want to be treated like an adult?
21:10:10 StephenLynx because I shat on your fallacies?
21:10:24 StephenLynx I don't give a fuck how you treat me, nigga.
21:10:29 __uguu__ because you're acting like a child.
21:10:36 __uguu__ you'll be dismissed like a child
21:10:40 __uguu__ :^)
21:10:40 StephenLynx I don't care.
21:10:51 StephenLynx what do I gain by being accepted by you?
21:10:56 __uguu__ indeed
21:11:00 __uguu__ is it worth the time to argue ?
21:11:05 StephenLynx its fun.
21:11:17 StephenLynx leisure time is always worth.
21:11:37 __uguu__ it is fun but now is not playtime for me otherwise i'd be trolling you
21:11:44 StephenLynx specially with biased developers that limits themselves and justify their decisions with bad arguments.
21:12:20 StephenLynx so they will say any functionality of their choice is a need and any functionality of the other tech is retarded and useless.