Lynx shills mongo DB Plain Text
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.