MySQL server for dental practice - recommended OS and RAID?

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

johnny13oi

New Member
Apr 12, 2018
2
0
1
44
Hey everyone, I am building out a dental practice and am also very good with technology so I have elected to save money and do the tech part of the build-out on my own. The software I am using is OpenDental and they have guides on how to basically set things up but I want some opinions from yall on a more experienced end.

Which OS would you choose? I know Linux is free but I have limited exposure to it and also security is paramount especially with patient information on the server.

I am also thinking about setting up SSD's in a RAID 5 or 6 manner for speed and protection.

All clients will be using Windows 10 Pro. I will have approximately 10 clients connected to this server.

Also, I have ordered a Dell T30 mini with Xeon CPU for my server and my understanding is that it can only do RAID 5 in software mode through Intel drivers on Windows.
 

amalurk

Active Member
Dec 16, 2016
311
116
43
102
I helped out a friend with something similar for a professionals office recently. Their software needed a database server and a decent file store. We used the same T30 or maybe it was a T130, same internals anyhow I believe. We used Windows + MSSQL express because database is expected to remain under 10GB limit of MS SQL Express for foreseeable future and if it didn't business would be so good upgrades would plenty affordable.

Keep it simple, most of the time you are scraping and cleaning not hitting the server. Do a RAID 1 of SSD for OS + database (we used Intel S4600) and a RAID 1 of spinners for data store 4-8TB drives depending on need. Get Red Pros for 7200 spinning speed. I doubt you need more performance than that for 10 clients that probably aren't hitting the server more than a few times during a patient encounter and not all at once.

Find out if your professional org has any guidelines for data protection and follow those. Don't directly connect to internet, keep the server locked up. Do regular backups, take them home at least once a week. Practice a recovery operation to validate your backup plan works.

Once you start making sweet Dentist cash it won't be worth your time anymore so, get a pro to take over and watch over his shoulder occasionally to assure yourself he isn't fleecing you and doing a good job.

Edit: Also put a $100 APC UPS in front of it.
 
Last edited:

T_Minus

Build. Break. Fix. Repeat
Feb 15, 2015
7,641
2,058
113
Are you in USA ?

Have you studied the HIPAA regulations for storing confidential medical records?
 
  • Like
Reactions: leebo_28

johnny13oi

New Member
Apr 12, 2018
2
0
1
44
Thanks for the suggestions. I am located in the USA and yeah I wanted multiple TB on the database because I will be storing tons of xrays and pictures and these are about 100MB per set per patient and each new set per 6 months so I am thinking I will need a pretty massive database over time especially with the requirements on keeping the data over so long, I believe 7 years.
 

T_Minus

Build. Break. Fix. Repeat
Feb 15, 2015
7,641
2,058
113
You don't know what you don't know, and for your profession and now what you're trying to do that's a very bad thing.

My advice... hire someone, at the very least hire a HIPAA consultant to walk you through the specific requirements for what you're planned build-out is.
 
  • Like
Reactions: Evan

K D

Well-Known Member
Dec 24, 2016
1,439
320
83
30041
You don't know what you don't know, and for your profession and now what you're trying to do that's a very bad thing.

My advice... hire someone, at the very least hire a HIPAA consultant to walk you through the specific requirements for what you're planned build-out is.
What @T_Minus said. Setting things up by yourself may seem to be a good cost saving measure but you don't want to be spending time that could be spent with a patient troubleshooting things. There are a million things that can go wrong that will affect your bottomline.

Plus there is the whole HIPAA angle. Dealing with - storing, processing and transporting and kind of PHI or identifiable patient information is highly regulated. The penalties are very severe for any breach.

No offense intended at @amalurk but a doctor carrying patient information in an external drive home is the worst idea ever. Please don't do that.
 

amalurk

Active Member
Dec 16, 2016
311
116
43
102
Thanks for the suggestions. I am located in the USA and yeah I wanted multiple TB on the database because I will be storing tons of xrays and pictures and these are about 100MB per set per patient and each new set per 6 months so I am thinking I will need a pretty massive database over time especially with the requirements on keeping the data over so long, I believe 7 years.

Are sure it actually stores the xrays in the database? That would be a poor design for small office software. Different profession but similar type of setup I helped with and their database just stores links to the large files which then can be set to reside on/load from another store/share/nas etc...

Edit: I was right, see here Open Dental Software Manual - Images Store in Database , you don't have to store images in database and it is a real bad idea if they are large to do that. Also here Open Dental Software Manual - Data Paths Setup to not store images in database.

So it is unlikely you need multiple TB on the database since it is going to just be storing text strings and numbers, not images.

This going to take a TON of time OP to get setup and running. If you already have paying patients lined up it might not be worth your time unless you have very limited capital to get started.
 
Last edited:

mrkrad

Well-Known Member
Oct 13, 2012
1,244
52
48
SQL server has file stream to store images/blobs in files and bypass the sql database cache, or you could write your own just be careful of filesystem limits/performance or use reiserfs for large directories and many files, it was designed for it! Also consider access control of the images as far as hippa goes you may need to think about that when storing a ton of images on disk.

I'd also layout the filename so in case someday you have to reconstruct who the images belong to - you can. trust me on this. someday it will save your ass!

Ext4 has really stupid low limits on number of files per directory and lags out big time when having to step through a directory with 31K files in it, btw. same with ntfs! Generate real possible limits for your filesystem and test the performance ! You will get burned by default implementations of filesystems holding large numbers of files in one directory!
 

gea

Well-Known Member
Dec 31, 2010
3,161
1,195
113
DE
It seems you have the following restrictions

- must run on Windows
- many files (it seems OpenDental does not store images in the database but as simple files)
- data security: highest priority
with access control, encryption and versioning, protection against Ransomware

There are many options but I doubt you will be happy with a pure Windows solution

A suggestion:
A Windows server/ Windows 10 as you need Windows but avoid using Windows for the storage part as there are solutions that are faster, more robust with a higher security level

Storage
My suggestion would be ZFS as a blockbased storage offered via Comstar and iSCSI to Windows, see Configuring Storage Devices With COMSTAR - Oracle Solaris Administration: Devices and File Systems. Most feature complete and fastest would be Oracle Solaris as it is the only one with ZFS encryption. The free Open-ZFS options ex OmniOS as a free Solaris fork for professional use will offer encryption later this year.

Use two of these storage boxes with ZFS replication between. The second system is for backup and failover. Add a removable pool for disaster backup to put it in a safe.

ZFS has no reachable filesystem limits and extreme protection against dataloss. Snaps (as Windows previous versions) are readonly and in contrast to Windows shadow copies Ransomware safe.

Build a pool where you allow any two disks to fail (3way mirror or raid-Z). As you need a crash save write behaviour use either SSDs or NVMs with powerloss protection or when using disks, add an slog as crash protection for faster writes.

An UPS is ok.
CPU performancewise any smaller professional hardware from Dell, HP, SuperMicro is ok. RAM is more critical, I would use 32GB or more.

see my design principles and hardware options
napp-it // webbased ZFS NAS/SAN appliance for OmniOS, OpenIndiana, Solaris and Linux : Manual

The setup manuals are related to Solaris and its free forks.
The principles and build options are for all ZFS options.

If you want to use this on one machine, use ESXi below Windows and the Storage VM. This will also give versioning and fast recovery of Windows. The second backup machine can be identical for failover.
 
Last edited: