{"id":2192,"date":"2015-04-10T10:45:56","date_gmt":"2015-04-10T00:45:56","guid":{"rendered":"http:\/\/www.itdiscovery.com.au\/?p=2192"},"modified":"2021-03-12T17:25:09","modified_gmt":"2021-03-12T07:25:09","slug":"multi-tenant-database-using-microsoft-access-take-you-legacy-apps-to-the-masses","status":"publish","type":"post","link":"https:\/\/www.itdiscovery.com.au\/?p=2192","title":{"rendered":"Multi Tenant Database using Microsoft ACCESS!!! &#8211; Take your legacy apps to the masses."},"content":{"rendered":"<p>In a recent project that was undertaken a challenge was presented. &#8220;We have an access database application that we currently install on end users machines, but we want to move it to a cloud based service&#8221;<\/p>\n<p>The software was a split access database, usually only one organisation can access the relevant access database backend front a distributed frontend. There was a direct one-to-one relationship between the host windows machine and the database for the organisation&#8230; IE each\u00a0organisation needed to have a dedicated machine &#8211; be it on premise or hosted service. This involved either ongoing maintenance and troubleshooting of dissimilar hardware\/software environments or costly windows server hosted solutions.<\/p>\n<p>This was before I.T. Discovery was involved&#8230;<\/p>\n<p>By utilising MS Terminal Services and Active Directory, we were able to craft a server that is able to host MULTIPLE MS ACCESS databases. Each organisation has its own database and accesses the front end via Terminal Services Remote Desktop. Within this managed environment, the deployment of new organisations is a snap, adding new users via a scripting mechanism.<\/p>\n<p>Here is the impressive part:-<\/p>\n<ul>\n<li>We have successfully hosted\u00a0<strong>OVER 170+\u00a0<\/strong>Access Databases consisting of\u00a0<strong>OVER 400<\/strong>\u00a0individual<strong>\u00a0<\/strong>users.<\/li>\n<li>There is anywhere up to <strong>15+ concurrent users<\/strong> accessing a single access database.<\/li>\n<li>The Access app is now &#8220;CLOUD BASED&#8221; allowing any RDP enabled device to connect.<\/li>\n<li>The TS server has been able to support up to 100 concurrent users.<\/li>\n<li>This has all been achieved <strong>ON A SINGLE SERVER 2008 R2 MACHINE.<\/strong><\/li>\n<\/ul>\n<p><strong>Server Specs<\/strong><\/p>\n<p>6 core CPU<\/p>\n<p>32GB RAM<\/p>\n<p>Raid 5 Disk Array Currently 700GB<\/p>\n<p>10m\/bit internet link<\/p>\n<p>The interesting thing noted about this deployment is that it is definitely not the cpu or hdd resources limiting more concurrent users, we hit the 32gb ram ceiling with around 110 concurrent users with this memory footprint per user. With more memory (Server Enterprise) this solution is SCALEABLE.<\/p>\n<ol>\n<li>MSACCESS APP &#8211; 50-100mb<\/li>\n<li>LIVE MAIL 150MB (since removed allowing MORE concurrent users)<\/li>\n<li>SYNCDOCS 60MB<\/li>\n<\/ol>\n<p>To achieve this with a SQL mutliple tenant environment, each instance of SQL server would have required an even very conservative 1gb, this limits the server to 32 organisations.<\/p>\n<p>All in all the JET database engine is very efficient and fast when accessing data LOCALLY, the important this is keeping the front and back ends physically on the same machine and avoiding any network type access.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In a recent project that was undertaken a challenge was presented. &#8220;We have an access database application that we currently install on end users machines, but we want to move it to a cloud based service&#8221; The software was a split access database, usually only one organisation can access the relevant access database backend front&hellip; <br \/> <a class=\"read-more\" href=\"https:\/\/www.itdiscovery.com.au\/?p=2192\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/www.itdiscovery.com.au\/index.php?rest_route=\/wp\/v2\/posts\/2192"}],"collection":[{"href":"https:\/\/www.itdiscovery.com.au\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itdiscovery.com.au\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itdiscovery.com.au\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itdiscovery.com.au\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2192"}],"version-history":[{"count":5,"href":"https:\/\/www.itdiscovery.com.au\/index.php?rest_route=\/wp\/v2\/posts\/2192\/revisions"}],"predecessor-version":[{"id":2197,"href":"https:\/\/www.itdiscovery.com.au\/index.php?rest_route=\/wp\/v2\/posts\/2192\/revisions\/2197"}],"wp:attachment":[{"href":"https:\/\/www.itdiscovery.com.au\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2192"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itdiscovery.com.au\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2192"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itdiscovery.com.au\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2192"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}