> Client side sorting makes sense if you know the domain well enough to > know, for example, you will receive a small enough result set to 'fit' > in the client, and want to give the user multiple interactive sort > options without hitting the database again. But I agree that in general >it makes sense to get the database to do the sort. >
I'll concede this point. In general it should be better to do the sorts on the database server, which is typically by design a hefty backend system that is optimized for that sort of processing. In my experience with regular SQL databases, unfortunately they typically only scale vertically, and are usually running on expensive enterprise-grade hardware. Most of the ones I've worked either run on minimally sized hardware or have quickly outgrown their hardware. So they are always either: 1) Currently suffering from a capacity problem. 2) Just recovering from a capacity problem. 3) Heading rapidly towards a new capacity problem. The next problem I run into is a political, rather than technical one. The database administration team is often a different group of people from the appserver/front end development team. The guys writing the queries are usually closer to the appserver than the database. In other words, it is easier for them to manage a problem in the appserver, than it is to manage a problem in the database. So, instead of having a deep well of data processing power to draw on, and then using a wide layer of thin commodity hardware presentation layer servers, we end up transferring data processing power out of the data server and into the presentation layer. As we evolve into building data processing systems which can scale horizontally on commodity hardware, the perpetual capacity problems the legacy vertical databases suffer from may wane, finally freeing the other layers from having to "pick up some of the slack". -- Rick Otten rot...@windfish.net O=='=+ _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user