CouchDb to do list:

1. Get the documentation into *much* better shape.
2. Start the ball rolling on funding. Know any investors interested in changing the world?
3. Create more examples.
4. Replication engine.
5. Create offline demos.
6. Wow investors.
7. Finalize important api interfaces.
8. Start hammering hard on reliability and regression tests.
9. Begin performance work.
10. Live compaction.
11. Unicode(uft8) support
12. Start beta testing and promotion.
13. Attachment support.
13. Fabric - beefed up text processing features and integrated regexp syntax.
14. Fabric - richer syntax for computed table creation (e.g. specify multiple column indexes)
15. Computed tables - more query options
16. Score funding.
17. Turn this mutha out.

(not listed: 100's of small tedious tasks)

Posted September 3, 2006 10:33 PM

Comments

Berislav Lopac, September 4, 2006 2:57 AM

Jan Lehnardt, September 4, 2006 3:12 AM

I'm not sure about ycombinator. Don't they specialize in funding college kids?

Hmmm... just checked their site, sounds like they *might* be interested in a project like mine. Worth a look.

Good suggestions guys.

Damien, September 4, 2006 10:44 PM

What about data partitioning? At the simplest level, can I split the DB itself across multiple machine, with a single HTTP access point?

Harry Fuecks, September 6, 2006 7:21 AM

john, September 6, 2006 9:31 AM

Harry, that's something I *really* want to do (it's the thing I'm most interested in long term).

BUT, first I need to build a compelling and solid single machine storage model and API, then replication. And I need to validate this thing solves real problems. It's a process, I learn as I go. And If I push too far ahead without validation, I risk building something brilliantly useless. (I've done it before ;)

So for now, I'm leaving it off the list, but not because I think it's unimportant, but because I think its too early. The design as a whole is built with massive scalability in mind, and will continue to adhere to design principles to allow for partitioning, failover and map reduce style distributed querying.

CouchDb is very much a long term project, I fully expect to be working on this for the next 5 to 10 years of my life. (hopefully it won't take near that long to introduce partitioning :)


John, thanks for simulalabs link. I hadn't heard of them.

Damien, September 6, 2006 1:09 PM

Understood - where's my time machine ;)

"And I need to validate this thing solves real problems. It's a process, I learn as I go. And If I push too far ahead without validation, I risk building something brilliantly useless. (I've done it before ;)"

How about mediawiki? Their code is relatively clean - believe db access / queries is more or less centralized behind APIs - might be something you'd find people will to help with that doesn't require Erlang. Plus there's a real problem to solve here ( http://dammit.lt/tech/mysqluc-wikipedia-domas.pdf ) - get the feeling there's a limit to how far you can go with MySQL replication.

Harry Fuecks, September 6, 2006 3:45 PM

Partitioning should be relatively trivial, i think?

If have a central master server, and then web proxies distributing the read load.

When the write load becomes too great, hashing the document name, and treating your master servers like hash buckets.

I think wikipedia could go this route, hashing article names, which should evenly distribute the write load across multiple master servers.

I believe this is what flickr does. Binding a top level object to a particular master object, which I think in flickrs' case is the user.

Jared "Ren" Williams, September 6, 2006 4:54 PM

Using CouchDb as a large scale, distibuted Wiki is a very cool idea I'd like to flesh out. I'm going write about that someday...

Damien, September 8, 2006 1:12 AM

Post a comment




Remember Me?

(you may use HTML tags for style)