For your Monday morning lulz: DBA vs. programmer thread.
|
Tagged with : blobsean is blob What are tags? |
What the hell is this fear of SQL? Are some programmers so terrified of relational databases that they can't store anything without some highly abstracted ORM?
impasse: What the hell is this fear of SQL? Are some programmers so terrified of relational databases that they can't store anything without some highly abstracted ORM?
It's nice to not have to worry about the quirks of a particular database, I guess.
It's nice to not have to worry about the quirks of a particular database, I guess.
impasse: What the hell is this fear of SQL? Are some programmers so terrified of relational databases that they can't store anything without some highly abstracted ORM?
Most DB-backed apps don't need a very sophisticated schema either. Seems lazy to me, especially since once you know your data domain, creating a normalised DB schema is mostly procedural.
Most DB-backed apps don't need a very sophisticated schema either. Seems lazy to me, especially since once you know your data domain, creating a normalised DB schema is mostly procedural.
Are you storing IP addresses as VARCHARs? Why? It's just 32-bit integer written in dotted quad notation.
FAIL.
impasse: What the hell is this fear of SQL? Are some programmers so terrified of relational databases that they can't store anything without some highly abstracted ORM?
I understand databases just fine, but a decent ORM layer makes code so much easier.
DbUser impasse = DbUserPeer.retrieveByPK(820);
impasse.setStfu(StfuYou.ASSHOLE);
impasse.save();
I understand databases just fine, but a decent ORM layer makes code so much easier.
DbUser impasse = DbUserPeer.retrieveByPK(820);
impasse.setStfu(StfuYou.ASSHOLE);
impasse.save();
grahams: I understand databases just fine, but a decent ORM layer makes code so much easier.
DbUser impasse = DbUserPeer.retrieveByPK(820);
impasse.setStfu(StfuYou.ASSHOLE);
impasse.save();
Thin-ish ORMs are fine, I use them myself mostly just to throw a sql backend portability layer in. I'm talking about the kind where it completely hides the backend, then people like me have to figure out what the hell some massively abstracted ORM is doing when there's a database problem.
DbUser impasse = DbUserPeer.retrieveByPK(820);
impasse.setStfu(StfuYou.ASSHOLE);
impasse.save();
Thin-ish ORMs are fine, I use them myself mostly just to throw a sql backend portability layer in. I'm talking about the kind where it completely hides the backend, then people like me have to figure out what the hell some massively abstracted ORM is doing when there's a database problem.
no.u();
meta: Are you storing IP addresses as VARCHARs? Why? It's just 32-bit integer written in dotted quad notation.
FAIL.
Seriously. You should use a 64-bit INT to avoid issues with the sign bit.
FAIL.
Seriously. You should use a 64-bit INT to avoid issues with the sign bit.
fatsean: Seriously. You should use a 64-bit INT to avoid issues with the sign bit.
BLOBs for everything, especially booleans.
BLOBs for everything, especially booleans.
fatsean: Seriously. You should use a 64-bit INT to avoid issues with the sign bit.
Still FAIL.
Hint: my IP address is 2002:4219:ae2b:0:240:63ff:fecc:1f26/64
Still FAIL.
Hint: my IP address is 2002:4219:ae2b:0:240:63ff:fecc:1f26/64
meta: Still FAIL.
Hint: my IP address is 2002:4219:ae2b:0:240:63ff:fecc:1f26/64
You are going to still save space if you convert that to a base 10. But I see your point.
Hint: my IP address is 2002:4219:ae2b:0:240:63ff:fecc:1f26/64
You are going to still save space if you convert that to a base 10. But I see your point.
mtman900: You are going to still save space if you convert that to a base 10. But I see your point.
Umm, do you?
His point is that IPv6 is 128bit, not 32bit (IPv4).
Umm, do you?
His point is that IPv6 is 128bit, not 32bit (IPv4).
impasse: What the hell is this fear of SQL? Are some programmers so terrified of relational databases that they can't store anything without some highly abstracted ORM?
The idea is to have your software database-neutral. It should be reasonable to replace your MySQL database with an MSSQL or Postgres database if needed. Yes, some work will be required but it shouldn't require an entire rewrite.
The idea is to have your software database-neutral. It should be reasonable to replace your MySQL database with an MSSQL or Postgres database if needed. Yes, some work will be required but it shouldn't require an entire rewrite.
sloth: Umm, do you?
His point is that IPv6 is 128bit, not 32bit (IPv4).
Yes, I do. I was just saying that, while the exact numbers are wrong, you still are going to get some savings by saving the IP address as an int rather than a string.
Of course, I say that as a fool who has not very much experience in programming at all, let alone managing data sizes.
His point is that IPv6 is 128bit, not 32bit (IPv4).
Yes, I do. I was just saying that, while the exact numbers are wrong, you still are going to get some savings by saving the IP address as an int rather than a string.
Of course, I say that as a fool who has not very much experience in programming at all, let alone managing data sizes.
elebrin: The idea is to have your software database-neutral. It should be reasonable to replace your MySQL database with an MSSQL or Postgres database if needed. Yes, some work will be required but it shouldn't require an entire rewrite.
I'm not talking thin abstraction layers for db vendors, I'm talking about completely hiding all things SQL/relational to hotshot Web 2.0 programmerfags that wouldn't know a left join from their mom's dildo drawer.
I'm not talking thin abstraction layers for db vendors, I'm talking about completely hiding all things SQL/relational to hotshot Web 2.0 programmerfags that wouldn't know a left join from their mom's dildo drawer.
impasse: I'm not talking thin abstraction layers for db vendors, I'm talking about completely hiding all things SQL/relational to hotshot Web 2.0 programmerfags that wouldn't know a left join from their mom's dildo drawer.
Yeah when I reread the rest of the thread I got that.
But really... sql and managing databases is easysauce. Learning php took longer. Some of the more complicated stuff is much more involved, but the nice thing is that once you got your schema set you shouldn't have to mess with it. I don't know why people can't do this for themselves.
Yeah when I reread the rest of the thread I got that.
But really... sql and managing databases is easysauce. Learning php took longer. Some of the more complicated stuff is much more involved, but the nice thing is that once you got your schema set you shouldn't have to mess with it. I don't know why people can't do this for themselves.
mtman900: Yes, I do. I was just saying that, while the exact numbers are wrong, you still are going to get some savings by saving the IP address as an int rather than a string.
Yes you will. And I don't think he was denying that.
Yes you will. And I don't think he was denying that.
When I was a boy, we had JDBC and WE LIKED IT!
impasse: Thin-ish ORMs are fine, I use them myself mostly just to throw a sql backend portability layer in. I'm talking about the kind where it completely hides the backend, then people like me have to figure out what the hell some massively abstracted ORM is doing when there's a database problem.
no.u();
hibernate.showSQL=true;
done.
no.u();
hibernate.showSQL=true;
done.
mtman900: Yes, I do. I was just saying that, while the exact numbers are wrong, you still are going to get some savings by saving the IP address as an int rather than a string.
Of course, I say that as a fool who has not very much experience in programming at all, let alone managing data sizes.
Some people use a host name as the address.
Of course, I say that as a fool who has not very much experience in programming at all, let alone managing data sizes.
Some people use a host name as the address.
meta: Still FAIL.
Hint: my IP address is 2002:4219:ae2b:0:240:63ff:fecc:1f26/64
Use of the acronym IP implies IPv4 :P
If using IPv6, one should implement 128 boolean columns.
Hint: my IP address is 2002:4219:ae2b:0:240:63ff:fecc:1f26/64
Use of the acronym IP implies IPv4 :P
If using IPv6, one should implement 128 boolean columns.
fatsean: Use of the acronym IP implies IPv4 :P
If using IPv6, one should implement 128 boolean columns.
I'd use around 200, since IPv6.1 might be right around the corner.
If using IPv6, one should implement 128 boolean columns.
I'd use around 200, since IPv6.1 might be right around the corner.
mtman900: Yes, I do. I was just saying that, while the exact numbers are wrong, you still are going to get some savings by saving the IP address as an int rather than a string.
Yes, but how much quicker is it going to be to read 16 octets from a database instead of 39? Not much, I suspect, in these days of 8K cluster sizes.
Even if it's slightly faster because of network transmission, it's still probably not enough to be worth the tradeoff of having to convert your data between binary representation and canonical representation for every single read or write operation.
Next you'll be suggesting saving space by using 64 bit epoch dates instead of TIMESTAMP...
Yes, but how much quicker is it going to be to read 16 octets from a database instead of 39? Not much, I suspect, in these days of 8K cluster sizes.
Even if it's slightly faster because of network transmission, it's still probably not enough to be worth the tradeoff of having to convert your data between binary representation and canonical representation for every single read or write operation.
Next you'll be suggesting saving space by using 64 bit epoch dates instead of TIMESTAMP...
pale_green_pants_with_nobody_inside_them: When I was a boy, we had JDBC and WE LIKED IT!
Unfortunately, we still have JDBC.
Unfortunately, we still have JDBC.
someone who may or may not be Sales Director
2010-02-08 10:23:38.0
login to vote
score 1
Yeah, well when you're done with your geek-out, could someone please respond to my login request? I still can't get into email or internet and as I've mentioned several times it is IMPERATIVE that I can access the application from my blackberry.
Real men use flat files
Chip in Sales says the website is down.
sloth: Umm, do you?
His point is that IPv6 is 128bit, not 32bit (IPv4).
Little Jonny was a coder
Little Jonny is no more
What Jonny thought was IP6
Was H2SO4
...yeah, doesn't make a lick of sense, but if I don't get it out of my skull, it'll rattle around in my head annoying me for a while
His point is that IPv6 is 128bit, not 32bit (IPv4).
Little Jonny was a coder
Little Jonny is no more
What Jonny thought was IP6
Was H2SO4
...yeah, doesn't make a lick of sense, but if I don't get it out of my skull, it'll rattle around in my head annoying me for a while
Nerds.
If you logged in, you could post here.

