Tuesday, 31 May 2011

Multi-Tenant Architecture

As SaaS (Software as a service) takes big steps in these days, lots of new methods or rather less used methods are getting more attention. Making an application truly Multi-tenant is one of the key feature in SaaS. In xEvents, we made the application multi-tenant capable in the initial phase of the project to reduce incremental time and cost factor if we converting into multi-tenant based application in the later stage. We had lots of discussions going back and forth to make right design decision for implementing the multi-tenant enabled platform which is more suitable for xEvents application. We thought it is worth to post here on this topic.

Possible Design solution: One of the Key factor while designing the multi-tenant design is the database design. As we will be intent to store all the tenant data in our server and mostly same set of application code will be accessing different tenant data, designing suitable database structure turned out to be a tricky call. In a broad category, we can implement in 3 different ways:

1. Isolated database for each tenant
2. Isolated schema for each tenant
3. Shared schema for all tenants

Though i have stated three different individual type, it is a continuum spectrum. Most of the time we need to choose a mixed approach (for e.g. sharing few tables/schemes across the tenant and also few separate table per tenant). Meaning, choosing the correct type is fully depends on type of application.


(source: http://i.msdn.microsoft.com/dynimg/IC150005.gif )


Few worth noting factors while making the design decision : No. of Tenants, customization required per tenant, Scalability, database size / maintenance cost, No. of users per tenant, data privacy/isolation issues. This[1] article clearly listed the pros and cons with a detailed analysis.


Multi-tenant grails plugin: Once we are clear with the design in our mind and having grails powered by plugins, now we have to pick-up the right plugin and fine-tune the configuration as per the our requirement. Multi-tenant plugin[2] provides out of box implementation for multi tenant based applications. Though, this is not clearly (rather fully) documented, this page[2] will give you a very good idea to start with and about how this plugin works. Here is our few cents:

1. Although, this plugin suppose single database per tenant, it is little immature as of now[June,2011].
2. There is another version of this plugin[3] (using Hawk Eventing and Hibernate Hijacker) to support single db per tenant. But this is still in the experiment mode.
3. This plugin have incompatibility issue with searchable plugin. we tried few suggestions given in forums to fix this issue, but in vain. (Though, i am not sure of the fact, but this might be because both the plugins modify the datasouce in the beginning or because of the subscription to the hibernate events).
4. Need to be careful about having common pages like admin page which will access data across the tenant. It is not available out of box from this plugin.


[1] http://msdn.microsoft.com/en-us/library/aa479086.aspx
[2] http://multi-tenant.github.com/grails-multi-tenant-core/guide/index.html
[3] http://multi-tenant.github.com/grails-multi-tenant-single-db/docs/v0.7.2/guide/

119 comments:

  1. Thank you for the good article.
    When it comes to the cloud services, Multi-Tenant Architecture plays the really important role. Regarding the virtual data room providers' experience, I can say that there shouldn't be any issues when dealing with huge amount of clients.

    ReplyDelete
  2. "Multi-Tenant Architecture " - it's very interesting, and y need to understand how it works.
    Thank y for this post, now it's all clear for me.
    security-online.net

    ReplyDelete
  3. One of the Key factor while designing the cargo bandung papua multi-tenant design is the database design.

    ReplyDelete
  4. Thank you for sharing with us such a great blog. I would like to share my experience with you as well.
    I'm an author on the travel blog and I travel around the world a lot
    delta airlines telephone number customer service
    south west phone number in spanish
    air canada customer service phone number
    alaska airlines visa customer service phone number

    ReplyDelete
  5. Search Engine Optimization takes the rank of your site on the next level. SEO is indeed essential since, without it, your website cannot survive. SEO works wonderfully to any location.
    Content Writing Company in Delhi
    Content Writing Services in Delhi
    Mobile App Development Company Delhi
    PPC Company in Delhi
    PPC Company in India

    ReplyDelete
  6. Thanks for sharing such a nice Blog.I like it.
    webroot contact number

    ReplyDelete
  7. Are you looking for professional plumber melbourne? Mako Plumbing Services offers the best plumbing services for all your blocked drain melbourne needs!

    ReplyDelete
  8. Hi Very Nice Blog I Have Read Your Post It Is Very Informative And Useful Thanks For Posting And Sharing With Us.
    Office Cleaning Melbourne | Carpet Cleaning Melbourne

    ReplyDelete
  9. Hi Very Nice Blog I Have Read Your Post It Is Very Informative And Useful Thanks For Posting And Sharing With Us.
    Bond Cleaning Melbourne | End of lease Cleaning Melbourne

    ReplyDelete
  10. Thanks for sharing this content. This is more informative and effective to all the individuals.
    catering melbourne
    finger food catering Melbourne

    ReplyDelete
  11. Thanks for sharing the information with us. Keep on updating us regularly.
    Bpo Companies in the Philippines | Offshore Staffing Philippines

    ReplyDelete
  12. Finding freelance jobs for engineers is easy, but making sure the role is suited for your field and getting the job is the tricky part. You need to make sure that the post is related to what you do because if you pick up a wrong position that you do not understand and need to turn down later, it will give your employer a false impression and you will lose credibility in the market. Freelance VOIP Engineers

    ReplyDelete
  13. Design previously, SEO Company Dubai developed out of the elements between needs (cover, security, adore, and so on.) and implies (accessible structure materials and specialist aptitudes). Ancient and crude engineering establish this beginning time. As people advanced and information started to be formalized through oral conventions and practices, engineering developed into an art. Here there is initial a procedure of experimentation, and later ad lib or replication of an effective preliminary. The planner isn't the sole significant figure; he is simply part of a proceeding with convention.

    ReplyDelete
  14. Engineering initially, website development packages in dubai advanced out of the elements between needs (cover, security, love, and so forth.) and means (accessible structure materials and chaperon aptitudes). Ancient and crude engineering comprise this beginning time. As people advanced and information started to be formalized through oral customs and practices, design developed into an art. Here there is initial a procedure of experimentation, and later act of spontaneity or replication of a fruitful tria.

    ReplyDelete
  15. I suggest you study, Pakistani Mehndi Dresses architecture as your main field and get a second degree in program or those that have a degree in something other than architecture and now learning it in a separate 2-year.

    ReplyDelete
  16. It is extremely great to see the excellent information presented in an easy and understanding manner. Thank you for sharing this with us.
    Best Home Work Helper

    ReplyDelete
  17. I am feeling so much proud that I have found your website. If you guys want to deliver all your assignment within the stipulated time and seeking online assignment help service providers then hire online assignment writer of SourceEssay.

    Instant Assignment Writer
    Online Assignment Help Germany
    Dissertation Assignment Help

    ReplyDelete
  18. Our
    homework help service are always there to help you out in your academic work.Get the assignment help you deserve from one of the best writing services online!

    homework help

    ReplyDelete
  19. We offer translation service and localize into 200+ languages. We provide Legal translation services Singapore based top-notch translator experts who are working with universities and other tertiary institutions as well as multicultural organization in Singapore

    ReplyDelete
  20. That’s very kind of you to deliver such an incredible article, which seems courageous and mindful.I appreciate you for the thoughtful content which is elegant and more perfect.Awaiting for your next post. Web Designing Course Training in Chennai | Web Designing Course Training in annanagar | Web Designing Course Training in omr | Web Designing Course Training in porur | Web Designing Course Training in tambaram | Web Designing Course Training in velachery


    ReplyDelete
  21. It's very useful article with inforamtive and insightful content and i had good experience with this information.Enroll today to get free access to our live demo session which is a great opportunity to interact with the trainer directly which is a placement based Salesforce training India with job placement and certification . I strongly recommend my friends to join this Salesforce training institutes in hyderabad practical course, great curriculum Salesforce training institutes in Bangalore with real time experienced faculty Salesforce training institutes in Chennai. Never delay to enroll for a free demo at Salesforce training institutes in Mumbai who are popular for Salesforce training institutes in Pune.

    ReplyDelete
  22. Technical Collaboration is the removal of an IFTM server for the development of technical work on a campus other than the one of origin, or in another federal teaching or research institution in the country.
    https://telecommservices.blogspot.com/2020/02/what-is-technical-collaboration.html

    ReplyDelete
  23. These are the latest and greatest laptop models that will suit nursing students. You might find other models while browsing or in the local shop which would have similar or even better specs. The best specifications for someone who’d be using their laptops day in and day out – nursing students – would be an i5 processor with at least 8 gigs or RAM. A full HD screen seems an unnecessary upgrade, but it does make or break the computing experience for someone who spends more hours using the internet.
    Chromebook

    ReplyDelete
  24. https://referial.com/en/individual/Oladamats-Mrloaded
    https://www.smartguy.com//best-music-las-vegas-nv-usa
    https://myopportunity.com/profile/olajide-femi/hm
    https://share.bizsugar.com/user/profile/oladamats

    ReplyDelete
  25. https://gymmembershipfees.com/retro-fitness-prices/

    ReplyDelete
  26. https://gymmembershipfees.com/snap-fitness-prices/

    ReplyDelete
  27. You had me engaged by reading and you know what? I want to read more about that. That's what's used as an amusing post. At My Assignment Help Au, We Offer Pocket-Friendly Services And Write Tailored Assignments. Students Trust Our Assignment Help in Australia. To Get Authentic Assignments Within Deadlines, Hire Us Today!

    ReplyDelete
  28. office.com/setup
    - MS Office provides a wide range of programs that are used to customize and create various dynamic documents, spreadsheets, presentations, and other business tasks. The application is developed by Microsoft and is used in various Offices and institutions. It is supported by the majority of the OS, be it Android, iOS, or Linux. The Office suite contains apps such as Access, Word, Excel, OneNote, and Outlook. One can download it from www.Office.com/setup.

    ReplyDelete
  29. Easy Guide to install MS Office Setup At wwwofficecomsetup On Desktop/Laptop. Sign in And Enter product key, and Install Office.com/Setup key.
    office.com/setup
    office.com/setup
    office.com/setup

    ReplyDelete
  30. I read most web sites and analyze their content, but thank you very much for your site.
    Sigma Aldrich Chemicals

    ReplyDelete
  31. TechUpdatesDaily-A resource where one can find the latest updates & news about technology, software, gadgets and business ideas for the start-ups.

    ReplyDelete
  32. Get assignment help Australia from Australian Assignment Help experts and assignment help Singapore from Student Life Saviour experts in Singapore.

    ReplyDelete
  33. Check out an updated list of Blockbuster / Superhit Bollywood movies list 2015, 2016, 2017, 2018, 2019 and 2020. Here we get you comprehensively curated [...] superhit hindi movies
    akshay kumar upcoming movies
    Shahrukh Khan Upcoming Movies
    Salman Khan Upcoming Movies
    bollywood movies 2021
    Box Office Collection
    upcoming movies
    latest bollywood movies

    ReplyDelete
  34. If your rankings have been dropping, that’s generally a sign that your SEO services the predominant search engine, changes their search algorithms – also called web crawlers or search bots – to look for and favor different types of page content. If you have not been regularly updating your SEO strategy, you are missing out. We offer the best seo services india, with experience in all aspects of buffing up your web presence.strategies are outdated. Google,

    ReplyDelete
  35. If the Cisco router line changes so often, it can be difficult to stay updated. What are the current router models and what router would you use in what situations?
    If the Cisco router line changes so often, it can be difficult to stay updated. What are the current router models and what router would you use in what situations?
    More Info: https://technologyturns.blogspot.com/2020/04/find-better-cisco-router-for-your-needs.html

    ReplyDelete
  36. Helpful information. Lucky me I discovered your web site by accident!
    تعرفه هاست لینوکس

    ReplyDelete
  37. I am working on QuickBooks, accounting software from the last four months. I have good knowledge of using all the functions of QuickBooks for the complete maintenance of QuickBooks. When I am not able to begin the license properties, I am hardly experiencing QuickBooks Error 3371. This error code takes place, when QuickBooks files are missing or damaging. I am getting this error code message, when I attempt to open the file that I have not saved fully. I am trying my knowledge to solve this error code, but no results. So anyone can suggest the solid ways to resolve this error code as soon as possible.

    ReplyDelete
  38. thank you dor awsome articles.u can also visit my website www.lyrics2world.com

    ReplyDelete
  39. When you give a right command to your canon printer for printing the documents, your canon printer is showing offline status. Your canon printer is displaying canon printer offline error. If you’re receiving this offline error again and again, you can get connected with our live printer technicians to get full technical guidance for solving Canon printer offline error. As a technically recognized third party support guide, we recognize the exact reasons of this error and try to use the effective troubleshooting solutions to resolve this offline problem. Our technician’s help is available round the clock to provide instant support for any issue.

    ReplyDelete
  40. We are a complete and trained guide for you, if you want to install McAfee antivirus software. If you want to install McAfee antivirus using mcafee.com/activate product key, you should open it in the preferred browser. After that, you need to enter McAfee antivirus product key in the displaying box.

    ReplyDelete
  41. If homework looks difficult, attend our online statistics assignment help to a profit of high educational write my assignment. Our instructors are open 24/7 to satisfy your inquiries. taxation accounting help write my homework service

    ReplyDelete
  42. Usually I never comment on blogs but your article is so convincing that I never stop myself to say something about it. You’re doing a great job Man,Keep it up.
    mcafee.com/activate
    mcafee.com/activate
    mcafee.com/activate
    mcafee.com/activate

    ReplyDelete
  43. Really very happy to say,your post is very interesting to read.I never stop myself to say something about it.You’re doing a great job.Keep it up
    office.com/setup | office.com/setup | office.com/setup

    ReplyDelete
  44. This comment has been removed by the author.

    ReplyDelete
  45. IDM serial number provides a way to download files, movies, and all content directly using your internet download manager instead of using extensions in your browsers. Download to your browser will be much faster. Sometimes errors in combination cause loss of data.idm crack mac
    idm crack key
    idm crack patch
    idm crack
    idm cracked
    idm crack serial key
    idm crack download

    ReplyDelete

  46. Thanks for sharing great information. I always love to read and spread this kind of information that is unique and really informative. DesiMoo Delivers Farm Fresh Desi Cow Milk in Gurgaon at the Doorstep.
    For Info Visit us:-
    Cow Milk Online in Gurgaon
    Gir Cow Milk Gurgaon
    Farm Fresh Organic Milk Gurgaon
    Vita A2 Milk Gurgaon
    A2 Cow Milk In Gurgaon

    ReplyDelete
  47. PNJ Sharptech provides a wide range of software and services, our service spectrum ranging from website development to troubleshoot. We employ Professional Web development services including PHP, Action script, Ajax, Javascript, My SQL, Asp.net, Word Press, Magento, Drupal, Joomla, Photoshop / Corel Draw, Vector Graphics and Ruby on rails for our delivering custom web applications.

    ReplyDelete
  48. Visit mcafee.com/activate to successfully download, install, and activate your McAfee product. Get all-round protection from McAfee Activate. Get real-time protection with McAfee by finding ?steps to download, install, and activate McAfee antivirus setup. To get McAfee security, visit mcafee.com/activate

    webroot.com/safe- Get effective web-security on your system with Webroot SecureAnywhere. Easily download, install, and activate the software on webroot.com/safe. Webroot Safe: Avail world-class web-security on your computer with Webroot. Quickly download, install, and activate the product by visiting webroot.com/safe

    ReplyDelete
  49. mcafee.com/activate - Completely secure your device with McAfee. Download, install, and activate McAfee at mcafee.com/activate. Download and Activate your McAfee product via mcafee.com/activate. If you are facing any issues refer to mcafee.com/activate

    webroot.com/safe : Enter your 25-digit activation key and redeem your Webroot subscription. Visit webroot.com/geeksquad to install Webroot setup on your device.

    ReplyDelete
  50. Thanks for sharing these blog, its very informative blog post.
    San Diego Beach Vacation for Rentals

    ReplyDelete
  51. Making an application truly Multi-tenant require high IQ level and in-depth information about the architecture field. However, students can utilize different application to fulfil their needs and show out their hidden abilities. Assignment Writing Services

    ReplyDelete

 
Copyright David Bourget and University of London, 2011. This blog's content is license under the Attribution-ShareAlike license.