SQL Database choices
Posted: Wed Jun 09, 2021 3:06 pm
Anyone reading this forum should by now understand that low-level file management in .NET is slower than in Win32. That's the price we pay for .NET, I suppose.
So if you're maintaining a file-based DBF system, it seems you must kiss goodbye the speed and database performance you so painstakingly crafted during your happy years in the shrinking but sheltered DBF enclave.
Here's the good news: I've made the DBF-to-SQL switch before, In fact I even wrote about it. Wasn't that hard. And (as you would know from reading any of my many simple-minded posts on this forum) if I can do it, ANYONE can.
I'm writing to seek the group's advice on the best database choice. I know we've had this discussion before but this time I'd like to focus specifically on the following parameters:
1. One to twenty simultaneous users. Every network is Windows.
2. Record count of the main transaction table could be a million or more. In 90 percent of cases its less than 100k.
3. Distributed app, meaning it's designed to be downloaded and installed by the user.
4. Database-write transactions are few during data entry. Even with two data-entry users, there's only one or two transactions a minute.
5. However, reports are constructed by building (which means bulk-appending) temporary tables. In the past we've used temporary DBFs because of array limitations.
6. Easy installation and low maintenance is crucial.
At the moment I'm partial to SQLite because it's server-less. No need for the user to install (or for us to support) a server instance. This is huge. If you read SQLite's description of appropriate uses, it seems SQLite fits the bill. For us, at least. However I have heard past testimony from Wolfgang and others on this site about SQLite's under-performance on networks.
So if not SQLite, is there something else that offers the same low maintenance but better multiuser performance?
The new project to convert from DBF begins this week. So I'm very interested in what everyone has to say. At this point in time, after we've had some experience in XSharp.
Thanks everyone
So if you're maintaining a file-based DBF system, it seems you must kiss goodbye the speed and database performance you so painstakingly crafted during your happy years in the shrinking but sheltered DBF enclave.
Here's the good news: I've made the DBF-to-SQL switch before, In fact I even wrote about it. Wasn't that hard. And (as you would know from reading any of my many simple-minded posts on this forum) if I can do it, ANYONE can.
I'm writing to seek the group's advice on the best database choice. I know we've had this discussion before but this time I'd like to focus specifically on the following parameters:
1. One to twenty simultaneous users. Every network is Windows.
2. Record count of the main transaction table could be a million or more. In 90 percent of cases its less than 100k.
3. Distributed app, meaning it's designed to be downloaded and installed by the user.
4. Database-write transactions are few during data entry. Even with two data-entry users, there's only one or two transactions a minute.
5. However, reports are constructed by building (which means bulk-appending) temporary tables. In the past we've used temporary DBFs because of array limitations.
6. Easy installation and low maintenance is crucial.
At the moment I'm partial to SQLite because it's server-less. No need for the user to install (or for us to support) a server instance. This is huge. If you read SQLite's description of appropriate uses, it seems SQLite fits the bill. For us, at least. However I have heard past testimony from Wolfgang and others on this site about SQLite's under-performance on networks.
So if not SQLite, is there something else that offers the same low maintenance but better multiuser performance?
The new project to convert from DBF begins this week. So I'm very interested in what everyone has to say. At this point in time, after we've had some experience in XSharp.
Thanks everyone