Microservices for Databases

  • and 30 years ago I heard this when doing Focus and DB2. Different platforms still Relational Databases. Bigger better faster still databases

  • David In BC (4/2/2015)


    Every time I go to a Datastax-Cassandra event, I keep hearing about the "legacy RDMS" and how NoSQL, and Cassandra specifically, are going to do them in.

    After getting an idea of how Cassandra works - essentially a replicated database where space is traded for time - I have no fear of that actually happening.

    Cassandra is great for solving the Netflix-sized problems (and Netflix does use Cassandra for it's data store), but would be miserable and painful to use for the other 99% of the projects that need data storage.

    I don't see this overall. I do think that there are problem domains that will move from RDBMS consideration at all to only NoSQL or something else, and perhaps vice versa, but I cannot see RDBMS going away in significant numbers.

  • and 30 years ago I heard this when doing Focus and DB2. Different platforms still Relational Databases. Bigger better faster still databases

    Ditto

  • Steve Jones - SSC Editor (4/2/2015)


    David In BC (4/2/2015)


    Every time I go to a Datastax-Cassandra event, I keep hearing about the "legacy RDMS" and how NoSQL, and Cassandra specifically, are going to do them in.

    After getting an idea of how Cassandra works - essentially a replicated database where space is traded for time - I have no fear of that actually happening.

    Cassandra is great for solving the Netflix-sized problems (and Netflix does use Cassandra for it's data store), but would be miserable and painful to use for the other 99% of the projects that need data storage.

    I don't see this overall. I do think that there are problem domains that will move from RDBMS consideration at all to only NoSQL or something else, and perhaps vice versa, but I cannot see RDBMS going away in significant numbers.

    I tell ya, as I sit here taking a few courses in machine learning and statistics for the past few weeks, all they are teaching students and professionals in this sector is that NoSQL is the ONLY way. Not to be naysayer or anything, but it really dawned on me that a lot of people are starting to have the impressions that RDBMS are very very black and white. So much so, it's being removed from the topic and discussions in classes like these when talking about storing, managing and pulling data to feed into statistical models and so forth.

    The same is happening to me else where. The moment I mention anything pointing to "BIG DATA", it's like I get pushed down a road of, "Oh, then you must be using NoSQL" or "You have to be using this and not that." type of discussion.

    No, SQL Server handles what we are doing just fine. Thank you.

  • Yet Another DBA (4/2/2015)


    Gary Varga (4/2/2015)


    I believe that the best future lies ahead for those that create variously grained sets of SOA services. Going all out with current standard (my term) SOA services or just with microservices misses the point of each. It is the mix in granularity that will enable reuse.

    Is it really the granularity or is it the speed & ease at which the change can be designed,developed and then deployed? If it is the later then does it make any odds on the methodology used.

    I think that it is. There is a difference in perspective of services which is needed to ensure that there can be mutually exclusive design principles. An example could be Netflix which would need SOA for account management but microservices to maintain the bookmarks of where one has watched to.

    Technically there might be little difference but it is the usage difference that counts.

    EDIT: Quoted correct quotation :-S

    Gaz

    -- Stop your grinnin' and drop your linen...they're everywhere!!!

  • xsevensinzx (4/3/2015)


    Steve Jones - SSC Editor (4/2/2015)


    David In BC (4/2/2015)


    Every time I go to a Datastax-Cassandra event, I keep hearing about the "legacy RDMS" and how NoSQL, and Cassandra specifically, are going to do them in.

    After getting an idea of how Cassandra works - essentially a replicated database where space is traded for time - I have no fear of that actually happening.

    Cassandra is great for solving the Netflix-sized problems (and Netflix does use Cassandra for it's data store), but would be miserable and painful to use for the other 99% of the projects that need data storage.

    I don't see this overall. I do think that there are problem domains that will move from RDBMS consideration at all to only NoSQL or something else, and perhaps vice versa, but I cannot see RDBMS going away in significant numbers.

    I tell ya, as I sit here taking a few courses in machine learning and statistics for the past few weeks, all they are teaching students and professionals in this sector is that NoSQL is the ONLY way. Not to be naysayer or anything, but it really dawned on me that a lot of people are starting to have the impressions that RDBMS are very very black and white. So much so, it's being removed from the topic and discussions in classes like these when talking about storing, managing and pulling data to feed into statistical models and so forth.

    The same is happening to me else where. The moment I mention anything pointing to "BIG DATA", it's like I get pushed down a road of, "Oh, then you must be using NoSQL" or "You have to be using this and not that." type of discussion.

    No, SQL Server handles what we are doing just fine. Thank you.

    This sounds as though that I may have a career shift into being a DBA in future as some existing DBAs retire and the new kids on the block will not work on a RDBMS.

    Could be worse 😉

    Gaz

    -- Stop your grinnin' and drop your linen...they're everywhere!!!

  • Steve Jones - SSC Editor (4/2/2015)


    ...The idea of SOA or microservices doesn't mean a lack of logging, reporting, or anything else. It just means contained and tightly focused.

    Exactly. Just like microservices do not indicate a system that has not been architected.

    Implementations may vary 😛

    Gaz

    -- Stop your grinnin' and drop your linen...they're everywhere!!!

  • I find myself continually reminding folks that Analysis Services has had data mining features for quite some time. The while implementations may vary, algorithms all fall into the same categories weather you are using R, SSAS, Pentaho or others.

  • benjamin.seidle (4/9/2015)


    I find myself continually reminding folks that Analysis Services has had data mining features for quite some time. The while implementations may vary, algorithms all fall into the same categories weather you are using R, SSAS, Pentaho or others.

    Unfortunately, while they do fall into the same category of algorithmic offerings, they do not all offer the same performance or features. For example, SSAS is not as powerful as R out the box. I think this is because SSAS has not really changed all that much in the previous years. Yet, SSAS is easier to setup in a more generic fashion if you are using a multi-dimensional structure within SQL Server already.

    You have to also be invested in the Microsoft Stack ($$$) and work with multi-dimensional data to really take advantage of SSAS. It's hard to compete with R and Python that are completely free and work with anything. They also have a fierce community. Someone please point me to the SSAS community. Where they hiding at? I would love to use it more on my multi-dimensional data. :hehe:

  • Microsoft has been using microservices for various things:-) including DocumentDB. It is going to come out with a preview beta for the Azure Service Fabric in its next meeting. Probably we will know more then.

  • Unfortunately, while they do fall into the same category of algorithmic offerings, they do not all offer the same performance or features. For example, SSAS is not as powerful as R out the box. I think this is because SSAS has not really changed all that much in the previous years. Yet, SSAS is easier to setup in a more generic fashion if you are using a multi-dimensional structure within SQL Server already.

    You have to also be invested in the Microsoft Stack ($$$) and work with multi-dimensional data to really take advantage of SSAS. It's hard to compete with R and Python that are completely free and work with anything. They also have a fierce community. Someone please point me to the SSAS community. Where they hiding at? I would love to use it more on my multi-dimensional data. :hehe:

    Being an R noob I've only worked on small sets, usually with flat files. Either running in RStudio or invoking from the command line, do you know if it will handle mining/processing of large sets like a terabyte?

  • So, do microservices really eliminate the need for RDMS, or could many of them simply be an abstraction for a RDMS?
    It is essential that the microservice be backed by a database that is scalable in terms of low latency and concurrent users, but I don't believe it was ever intended to be tied to any specific database persistence implementation. Also, the microservice is only one channel into the database, there could be other applications like ERP or analytics that use need to hook into it using something like SQL.

    "Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho

  • Eric M Russell - Monday, December 10, 2018 7:49 AM

    So, do microservices really eliminate the need for RDMS, or could many of them simply be an abstraction for a RDMS?
    It is essential that the microservice be backed by a database that is scalable in terms of low latency and concurrent users, but I don't believe it was ever intended to be tied to any specific database persistence implementation. Also, the microservice is only one channel into the database, there could be other applications like ERP or analytics that use need to hook into it using something like SQL.

    It's not that it eliminates the need, it's that hard-core microservice advocates would consider RDBMS and/or normalization to be anti-patterns.  The ideal scenario in this view would be fully independent data stores that contain all date related to the bounded context you're working on.  Sharing data between an invoicing app and a payment app and an order-taking app would have to be done via services, so forget about having a single data store with all three and links/keys that relat to the OTHER data (i.e. where OTHER= anything not directly relevant to the very granular feature you're implementing right now).

    ----------------------------------------------------------------------------------
    Your lack of planning does not constitute an emergency on my part...unless you're my manager...or a director and above...or a really loud-spoken end-user..All right - what was my emergency again?

  • Thanks for the post! I just did the whole Microservices analysis thing too, and here's what I took away from it.
    We have a bunch of shared databases which are used in different ways across different products, and it's a challenge to balance all the requirements on the database. There's a lot of building secondary aggregate tables, new indexes, new procedures, etc to accomodate the needs of all the users. At the risk of sounding like every NoSQL Getting Started page ever, Relational databases are great for stable schemas, but falter when they have to change frequently or dramatically. So as an integrated source of data across multiple products or microservices, it falls on its face.

    However the solution to that is walling off the databases from that reach-in-and-take-what-you-want model, and instead publish feeds of data different applications can subscribe to (such as through Service Broker, or really any messaging platform). In that case, there is no problem using SQL as the source of the feed or the destination. It's not perfect, but nothing is. And it also strongly decouple the data storage and representation from the data retrieval, a critical feature of Microservices.

    As far as "RDBMS is dead", that is, indeed, a ridiculous claim. The flip side of the criticism of Relational databases is that schemas exist for a reason. There is no single best representation of data, and in fact the best representation for a given application will almost certainly make it worthless to another application. So where schema is legitimately getting in the way, yeah; SQL doesn't make sense. However the places where that is the case are much fewer and farther between than many would like you to believe.

    RDBMS is dead, long live the RDBMS.

    Executive Junior Cowboy Developer, Esq.[/url]

Viewing 14 posts - 16 through 28 (of 28 total)

You must be logged in to reply to this topic. Login to reply