3 ms·
I chose SQL Server 2005 for Loopt, but that's because at the time I made the choice MySQL didn't meet all my requirements. I should have looked more into Postgr
by kogir 19y ago
I chose SQL Server 2005 for Loopt, but that's because at the time I made the choice MySQL didn't meet all my requirements. I should have looked more into PostgreSQL, but didn't.
In your case, it sounds like MySQL should work just fine. For fast response times, just partition the data across a lot of cheap servers that can keep it all in RAM. This approach lends itself to a free database. That said, speed will be affected much more by what pre-processing you do before inserting the data (to optimize lookups), and how you design your schema than by your database vendor choice.
If you go with MySQL or PostgreSQL, be prepared to fix bugs in the ADO connectors from .Net to the database. I've used PostgreSQL with .Net and npgsql needs some work. Perhaps MySQL connectors are better.
I'd start with PostgreSQL or MySQL and only switch to SQL Server 2005 if you run into problems. The switching cost won't be that high if you don't use stored procedures and stick to using ADO.Net generic functionality.
Microsoft has been a great partner and their licensing model hasn't caused us any problems, so don't be afraid to go with them if they're the right choice. You'll take some heat for it though ;)
- dfranke 19y ago> If you go with MySQL or PostgreSQL, be prepared to fix bugs in the ADO connectors from .Net to the database. Likewise for SQL Server and ODBC, but then the bugs are in SQL Server so you can't fix them. However, .NET has a perfectly good ODBC client library. Use that, not ADO, to talk to MySQL.
- kogir 19y agoIf you find a legitimate bug in SQL Server, you can open a support ticket, and Microsoft will fix it. Frequently these fixes will make it into the next service pack, or if they're severe, a Windows update. This is all at no (extra) cost to you. In speed tests I've seen using ODBC be as much as 10x slower than npgsql in talking to PostgreSQL. I didn't look into why, and just used ADO.Net.
- dfranke 19y agoI don't think I ever encountered a bug for which I'd be able to write a coherent support ticket. They tended to be horrendous mandelbugs that were difficult to reliably reproduce due to caching. If it were an open source project then I could have at least set some watchpoints and sent a useful backtrace, but with closed source, SOL.
- watmough 19y agoOracle has a native driver for .NET. Google for ODP.NET. If it's anything like as good as their pure Java JDBC drivers, it will perform pretty well.
- kogir 19y agoBefore I get raked over the coals: npgsql is great. It is up to 10x faster than the PostgreSQL ODBC driver for our workload. It has a few tiny issues that are irritating but not big problems, and I plan to fix them and submit patches when I have time.