what is Scalability of Database

  • What is scalability of a database.I have googled it but I didn't get exact answere.

  • From the SQL website http://www.microsoft.com/sqlserver/en/us/solutions-technologies/mission-critical-operations/performance-and-scalability.aspx

    Scale up and out across traditional server deployments and private and public cloud.

    Deploy and Scale Out

    Grow beyond the constraints of any one deployment environment with Hybrid IT opportunities across traditional server and public cloud.

    Expand data warehouses with built-in database features like Remote Blob Storage and partitioned tables that scale to 15,000 partitions.

    Scale out heavily accessed databases while better maintaining consistency with Peer-to-Peer Replication.

    Leverage Service Broker to build more highly scalable, service-oriented solutions.

    Scale Up

    Improve scalability and performance of large workloads and consolidation scenarios with up to 320 logical processors and 4TB of memory with Windows Server 2012.

    Allowing SQL Server virtual machines to use up to 64 virtual processors and 1 TB of memory.

    But scalability has many different meanings depending on what you want from scalability.

  • Subbu's (1/11/2013)


    What is scalability of a database.

    For the first approximation "scalability" is an ability to scale ;).

    It means the ability to deal with increased workload just by adding more hardware power, without coping with database design or implementation.

    Suppose the database which can serve 10 users on (pretty weak) server A. Suppose that you want to serve 100 users. If you can achive it just by installing the database on (decent) server B which is 10 times more powerful (in terms of memory, processor power, disk storage) - then the database is scalable.

    If you need just 5 times more powerful server than the database is very scalable.

    If you need 100 times more powerful server than the database is poorly scalable.

    And if the database design makes it impossible to work with 100 users no matter what hardware power is at use, than the database is not scalable at all.

    The unscalable system is really easy to create :). All you need is a good bottleneck.

  • In addition to the above two explanations, you also need to think about whether or not your code will scale well. For example, you might have a table with only 10,000K rows in it, and you have a query that seems to run quickly. However, you may notice that as the number of records increases, there is an exponential growth in the time it takes for your query to execute. At some point in time, you may reach the "tipping point", beyond which your server will be taxed beyond its capability. If that happens, you may be in a hurry to upgrade your hardware. It's best to test you code on sample data numbering in the millions of rows.

    Greg
    _________________________________________________________________________________________________
    The glass is at one half capacity: nothing more, nothing less.

  • I guess I'll add a slightly different take on things. To me, scalability means that you already have everything you need to dramatically increase the amount of data you can handle without necessarily increasing the duration of runs by the same amount. I call it "scalability before the fact". A better term is "effective planning". 😉

    Being able to add hardware to add additional scale is fine so long as the duration per transaction isn't going up with the scale of the data. I call adding hardware for scalability "scalability after the fact" because very few people do it until they've been burned by a increase in scale. At that point, it's also called a "disaster". 😛

    There's also "scalable" code. this is code that, for example, stays the same in duration even though the amount of data that it has to work with went up 10 times. Code is usually considered to be scalable if the duration never grows faster than the data.

    To wit, some people use "scalability after the fact" hardware to try and overcome that problem of not having scalable code and it usually turns out to be a disaster.

    Another meaning for scalability is "career changer". If you can't write scalable code and can't change jobs fast enough before your code needs to be scalable and you can't actually fix it, someone may change your career for you. :w00t:

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

Viewing 5 posts - 1 through 4 (of 4 total)

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