Philip Linden: hi there!
Kate Hanks: welcome Phil, thank you for this
Philip Linden: OK now I see the top hat

Kate Hanks: yay!
Philip Linden:

Philip Linden: OK let's talk databases.
You: ahem, the SECOND top hat, the original was lost in a database crash, which is what set off my original rant
Philip Linden: I know.
Philip Linden: I agree that content loss is unacceptable.
Philip Linden: I can try and justify how we designed SL to now allow it,
Philip Linden: where we are today, etc.
You: all I really ultimately have to say is: you are in the business of selling access to a shared database, and that database is your reason for being, and I don't think you're treating it that way.
Philip Linden: Well let me a add a couple things...
Philip Linden: I 100% agree we need to protect every single piece of content.
Philip Linden: but let me give some more data on how things work...
Philip Linden: what sort of predicament we have here.,
Philip Linden: First,
You: and I don't think the new server is reliable, either, the reboot the other night and now people complaining about a lot of corruption
Philip Linden: we are not in the game business.
Philip Linden: we are in the digital world business.
Philip Linden: and I agree that is a database problem in many ways.
Philip Linden: but a kind of database the world has never seen before.
You: ultimately all a digital world IS, is data
Philip Linden: The objects in SL, like your hat...
Philip Linden: are actually not stored in a database.
Philip Linden: your INVENTORY is stored in a dabase,
Philip Linden: but the objects in-world are not.
Philip Linden: let me explain why.
You: files?
Philip Linden: well not really...
Philip Linden: something far more sophisticated.
You: I'm a sysadmin, though I'm not a database specialist by any means
Philip Linden: the objects that are resident in a sim,
Philip Linden: they are constantly being interacted with.
Philip Linden: so for this reason,
Philip Linden: we had to design something new.
Philip Linden: the 'transaction rate' that SL would be generating
Philip Linden: if it were a central DB,
You: I've often thought about that, actually, that the traffic would be unbelievable
You: that you'd have a database that would look like the federal government's.
Philip Linden: would already be FAR greater than any system in the world could handle.
Philip Linden: so instead what we have is effectively
Philip Linden: 500 parallel 'databases' that hold their objects in RAM
Philip Linden: so that they can be interacted with very fast.
Philip Linden: now...
Philip Linden: there are some databases in SL...
Philip Linden: I can explain where,
Philip Linden: and what problems we have had with them.
Philip Linden: Your inventory...
Philip Linden: everything that is not resident in the world,
Philip Linden: that has to be stored in a database.
Philip Linden: that database IS a central machine...
Trimming Hedges nods
Philip Linden: a NetApp with MySQL
Philip Linden: when you log in,
You: is the netapp itself running mysql?
Philip Linden: we get your invetory from that database.
You: when I last worked iwth them, they didn't do that
Philip Linden: I don't think so... the netapp is just the storage.
You: ok
Philip Linden: there is fast multiprocessor machine (I think) running mySQL
Philip Linden: bear in mind I am the CEO here... haven't been coding this stuff in a while.
Philip Linden: but I have a very technical background.
Philip Linden: Anyway...
You: *nods*
Philip Linden: in your post you mentioned the textures...
Philip Linden: it turns out that those are not stored in the database either.
Philip Linden: There is about 3TB of texture data so far.
You: someone mentioned that. Ouch.
Philip Linden: that is distibuted onto the sims,
Philip Linden: and a fast machine which we call the 'asset servers'
Philip Linden: is used to keep a central copy,
Philip Linden: so that when you teleport,
Philip Linden: your textures can go with you fast.
Philip Linden: so that machine(s) is the one that we have had some problems with.
You: teleporting with attachment has never been reliable
You: attachments*
Philip Linden: Those are apache machines serving the textures as files,
Philip Linden: behind SQUID proxies.
You: probably much more efficient than pulling them with sql
Philip Linden: the storage machines are being switched to Isilons.
Philip Linden: yes MUCH more.
Philip Linden: I am talking about Gbps class data rates....
Philip Linden: for example when we do a restart,
You: I know it's a hard problem, I've always thought it was
Philip Linden: and have to redistribute the data to the sims...
Philip Linden: can you imagine what that would do to Oracle?
Philip Linden: 500 machines making demands.
You: lol death for sure
You: or you'd need a mainframe
Philip Linden: so anyway that is the design.
Philip Linden: we've grown a bit too fast,
Philip Linden: and we have some bugs and tracking problems.
Philip Linden: so for example the teleport with attachments...
You: the world is hanging together by strings, bailing wire, and duct tape
Philip Linden: those are just bugs we need to keep fixing...
You: it is barely working
Philip Linden: basically race conditions and other problems with getting you to the new sim and requesting those assets simultaneously.
Philip Linden: I agree there are big problems.
Philip Linden: I guess we could shut down the whole grid for a few months or something,
[snip 3 lines]
Philip Linden: but that hardly seems the right idea.
Philip Linden: we are working as fast as we can.
You: well, your solution needs to include staying in business

[snip]
Philip Linden: well I really don't like losing content.
Philip Linden: I'd be F'ing furious if I lost something I built.
Philip Linden: in here.
You: philip, I know I'm not as smart as most of you there -- but I don't think you guys really have a handle on this data thing, and as I was trying to tell you, I think you need to find at least one seriously brilliant database guy
[snip]
Philip Linden: Well we have a couple... really very smart people.
Philip Linden: Also I have some database background,
Philip Linden: but not world class.
You: and then the corporate focus to way massively overfix this problem so you can grow
Philip Linden: But honestly if you saw the schemas... the size of the system.
Philip Linden: you would be blown away.
You: because if the foundations aren't stable -- and they aren't -- gluing on more stuff just breaks more things
Philip Linden: We would love to hire more great DB folks,
Philip Linden: but just bear in mind this is a big challenge.
Philip Linden: thing of the complexity of SL compared to Amazon,
Philip Linden: or Windows,
Philip Linden: or Google.
You: I have said that
Philip Linden: WAY more complex.
You: that you guys are like ebay or amazon
Kate Hanks: Trim has been a huge supporter
Philip Linden: We need to build the best team in the world.
You: but it feels like you're trying to spend money like you're Joe Smith running a webserver -- I realize from what you're saying that this isn't true
You: but that's what it FEELS LIKE
Philip Linden: any ideas on how to do that or people we should recruit....
Philip Linden: I'd love.
[snip]
You: I don't know any truly superb database people, sadly
Philip Linden: kate we haven't launched the teen grid.
[snip]
[snip from Philip responding to Jonquille]
[snip 4 lines]
Philip Linden: I think we will get many great people from within SL.
Philip Linden: We have plenty of money to spend,
Philip Linden: but sadly that isn't an instant fix.
You: you're dealing wiht a problem as big as the ones amazon and ebay have faced -- keep in mind they spent millions on their systems
Kate Hanks: how about the good minds in SL but working or meeting....gasp....in SL
Philip Linden: much bigger problem.
Philip Linden: Actuallly kate we are starting to do that.
Philip Linden: we just hired someone in England.
Philip Linden: so yes we are trying to use SL for work.,
Kate Hanks: good! i know you hired liasons and someone from Australia?
Philip Linden: yes a number of liasons,
Philip Linden: but I meant a programmer.
Kate Hanks: oh nice! so that IS possible! very cool
Jonquille Noir: What programming language?
Philip Linden: yes it is.
Philip Linden: Lots J...
Philip Linden: C++ is the core.
Philip Linden: OpenGL is the graphics.
Philip Linden: also every sort of linux/script/etc.
[4 lines snipped]
You: I wish I knew some brilliant DB people to point you at, philip, but I just don't
[snip 7 lines]
Kate Hanks: Phil, i'm so glad you and Trim talked
Philip Linden: well it doesn't get his hat back.
Philip Linden: which is totally lame.
Kate Hanks: no, but he can recreate
Philip Linden: really I am very frustrated.
You: the other thing I was telling people....
You: is that at least in one sense you're not thinking properly about the databases you do have
Philip Linden: how so?
You: ONE HARD DRIVE took your ENTIRE COMPANY down for like three days
You: that is totally unacceptable from an admin standpoint
Philip Linden: acually it was two failed drives in a 5-drive array.
Philip Linden: there was a backup,
Philip Linden: but the backup didn't have enough capacity.
Philip Linden: and now we are on a netapp
Philip Linden: with many backups.
You: ok, what you're saying there is 'growing too fast to keep up'
You: I'm sure your admins are desperately busy
Philip Linden: well sometimes that is true, yes.
You: I've been in a company growing nearly as fast as yours and I remember how desperate it was
Jonquille Noir: Sig: Has the suggestion been made to back up content off-world as raw data?
Philip Linden: I guess we could restrict the number of new users,
Philip Linden: but again that seems really bad.
Philip Linden: you mean back up locally for protection?
Kate Hanks: yes
Philip Linden: yes we are looking at that.
Jonquille Noir: (In the same way you'd download a texture back to your hard drive)
You: well, ya know, that's what blizzard is doing
Philip Linden: I think we will give something for that.
Philip Linden: yeah I agree it's a good idea.
Kate Hanks: make it another cost sink?
Philip Linden: it would be cool to be able to back up the contents of a parcel or something.
Philip Linden: but technically there is a problem... with
Jonquille Noir: I'd do it for my really important builds. My shop
You: the problem with that is that there would be permission problems
Philip Linden: backing up the stuff that isn't owned + created by you,
Jonquille Noir: True
Philip Linden: because it is a way to dupe things.
You: if I back up my database today, and then restore it tomorrow, and I transferred out stuff, I'd get that stuff back
Philip Linden: But we could do it only for YOUR stuff, which would be OK
Kate Hanks: yes, permission bugs fixed first
Philip Linden: and would cover many cases.
You: that would be cool
Jonquille Noir: I'd be happy if it could be done just with our own creations
Philip Linden: no kate it isn't that...
Philip Linden: if we allow full access to the data,
Philip Linden: it isn't a matter of bugs...
You: but fundamentally it's a bandaid
Philip Linden: it would always be possible to copy things then.
Kate Hanks: oh jeez
You: and then what if people try to restore corrupted data? on purpose?
You: it's a can of worms, a nasty one.
Kate Hanks: wow, how do you get around that?
Jonquille Noir: Sticky
Philip Linden: well we don't let you back up stuff you don't have full perms on.
You: for the same reason, user-controlled servers are going to be very scary and not likely to ever happen, as an admin I'd be terrified of remote servers that I didn't have root control of
Kate Hanks: ok, i suck when it comes to technical
Philip Linden: yes can you imagine that?
You: sure, but what if I download stuff and then monkey with it? .... oh, you oculd sign it with a public key
Kate Hanks: yes
Philip Linden: well we'll get into that problem when we come to it...
Kate Hanks: bad!
Philip Linden: happily not today.
Jonquille Noir: Like Siggy with the Sims. *hack hack hack*
You: sorry, I'm way out there

Kate Hanks: i think we tired Phil out
You: but you could sign the database with a public key - the db file
Kate Hanks: haha Jon
You: and then if it was changed in any way, not allow it to be uploaded back in
Philip Linden: yes that is correct we could do that.
Philip Linden: we are thinking about that too.
Philip Linden: that may be an approach that works.
You: it's still a bandaid
[snip]
You: from an admin perspective, I'm used to thinking of backups as MY problem, not the USER'S problem
You: it's just, in your case, a very large problem

Philip Linden: Yes fundamentally we need to get total protection.
Philip Linden: But simply a very hard problem.
Trimming Hedges nods
Philip Linden: OK you guys.
Kate Hanks: ha, never thought you'd be answering these questions, eh?
Philip Linden: I'm going to go and make sure the parrots are all talking on the welcome islands.
You: Rule #1 of holes: when you find yourself in one, stop digging.
Jonquille Noir: hehe
Philip Linden: oh it was fun to talk to you guys!
You: thanks for taking the time!
Philip Linden: just not a fun subject, clearly.
Kate Hanks: Phil you have been so great
Kate Hanks: thanks for coming
You: I appreciate your effort
Philip Linden: thanks for suffering the bugs.
Philip Linden: but I think we are making progress.
Jonquille Noir: Bugs aside, it's still the best thing going
Kate Hanks: yes
You: is anything you have told me confidential?
You: would it be okay to repost on the forum or should I keep my mouth shut?
Philip Linden: no you can talk about that stuff on the forums... that is fune.
Philip Linden: fine.
Kate Hanks: i think it would be GREAT to post in the forums
Kate Hanks: just filter out ME
You: I'm thinking that maybe just a transcript might be interesting
Philip Linden: the isilons are not online yet (I think).
Philip Linden: but will be very shortly.
Jonquille Noir: You can filter me out too
Kate Hanks: haha
Philip Linden: they are up and running.
Kate Hanks: thanks Phil, again. you never fail to amaze me
You: I think people will be very interested in this.... ok to post a transcript?
Philip Linden: Yes it is OK.
You: ok, got it, will do
You: tomorrow






