Very large database

From HandWiki
Short description: Database that contains a very large amount of data


A very large database, (originally written very large data base) or VLDB,[1] is a database that contains a very large amount of data, so much that it can require specialized architectural, management, processing and maintenance methodologies.[2][3][4][5]

Definition

The vague adjectives of very and large allow for a broad and subjective interpretation, but attempts at defining a metric and threshold have been made. Early metrics were the size of the database in a canonical form via database normalization or the time for a full database operation like a backup. Technology improvements have continually changed what is considered very large.[6][7]

One definition has suggested that a database has become a VLDB when it is "too large to be maintained within the window of opportunity… the time when the database is quiet".[8]

Sizes of a VLDB database

There is no absolute amount of data that can be cited. For example, one cannot say that any database with more than 1 TB of data is considered a VLDB. This absolute amount of data has varied over time as computer processing, storage and backup methods have become better able to handle larger amounts of data.[5] That said, VLDB issues may start to appear when 1 TB is approached,[8][9] and are more than likely to have appeared as 30 TB or so is exceeded.[10]

VLDB challenges

Key areas where a VLDB may present challenges include configuration, storage, performance, maintenance, administration, availability and server resources.[11]:11

Configuration

Careful configuration of databases that lie in the VLDB realm is necessary to alleviate or reduce issues raised by VLDB databases.[11]:36–53[12]

Administration

The complexities of managing a VLDB can increase exponentially for the database administrator as database size increases.[13]

Availability and maintenance

When dealing with VLDB operations relating to maintenance and recovery such as database reorganizations and file copies which were quite practical on a non-VLDB take very significant amounts of time and resources for a VLDB database.[14] In particular it typically infeasible to meet a typical recovery time objective (RTO), the maximum expected time a database is expected to be unavailable due to interruption, by methods which involve copying files from disk or other storage archives.[13] To overcome these issues techniques such as clustering, cloned/replicated/standby databases, file-snapshots, storage snapshots or a backup manager may help achieve the RTO and availability, although individual methods may have limitations, caveats, license, and infrastructure requirements while some may risk data loss and not meet the recovery point objective (RPO).[15][16][13][17][18] For many systems only geographically remote solutions may be acceptable.[19]

Backup and recovery

Best practice is for backup and recovery to be architectured in terms of the overall availability and business continuity solution.[20][21]

Performance

Given the same infrastructure there may typically be a decrease in performance, that is increase in response time as database size increases. Some accesses will simply have more data to process (scan) which will take proportionally longer (linear time); while the indexes used to access data may grow slightly in height requiring perhaps an extra storage access to reach the data (sub-linear time).[22] Other effects can be caching becoming less efficient because proportionally less data can be cached and while some indexes such as the B+ automatically sustain well with growth others such as a hash table may need to be rebuilt.

Should an increase in database size cause the number of accessors of the database to increase then more server and network resources may be consumed, and the risk of contention will increase. Some solutions to regaining performance include partitioning, clustering, possibly with sharding, or use of a database machine.[23]:390[24]

Partitioning

Partitioning may be able assist the performance of bulk operations on a VLDB including backup and recovery.,[25] bulk movements due to information lifecycle management (ILM),[26]:3[27]:105–118 reducing contention[27]:327–329 as well as allowing optimization of some query processing.[27]:215–230

Storage

In order to satisfy needs of a VLDB the database storage needs to have low access latency and contention, high throughput, and high availability.

Server resources

The increasing size of a VLDB may put pressure on server and network resources and a bottleneck may appear that may require infrastructure investment to resolve.[13][28]

Relationship to big data

VLDB is not the same as big data, however the storage aspect of big data may involve a VLDB database.[2] That said some of the storage solutions supporting big data were designed from the start to support large volumes of data, so database administrators may not encounter VLDB issues that older versions of traditional RDBMS's might encounter.[29]

See also

References

  1. "Oracle Database Online Documentation 11g Release 1 (11.1) / Database Administration Database Concepts". https://docs.oracle.com/cd/B28359_01/server.111/b28318/partconc.htm#CNCPT011. 
  2. 2.0 2.1 "Very Large Database (VLDB)". https://www.techopedia.com/definition/14731/very-large-database-vldb. 
  3. Gaines, R. S. and R. Gammill. Very Large Data Bases: An Emerging Research Area, Informal working paper, RAND Corporation
  4. (in en) Data Processing Magazine. North American Publishing Company. 1964. p. 18,58. https://books.google.com/books?id=3JYgAAAAMAAJ. 
  5. 5.0 5.1 Widlake, Marin (18 September 2009). "What is a VLDB?". https://mwidlake.wordpress.com/2009/09/18/what-is-a-vldb/. 
  6. Sidley, Edgar H. (1 April 1980) (in en). Encyclopedia of Computer Science and Technology: Volume 14 - Very Large Data Base Systems to Zero-Memory and Markov Information Source. CRC Press. pp. 1–18. ISBN 9780824722142. https://books.google.com/books?id=KUgNGCJB4agC. 
  7. Gerritsen, Rob; Morgan, Howard; Zisman, Michael (June 1977). "On some metrics for databases or what is a very large database?". ACM SIGMOD Record 9 (1): 50–74. doi:10.1145/984382.984393. ISSN 0163-5808. 
  8. 8.0 8.1 Rankins, Ray; Jensen, Paul; Bertucci, Paul (18 December 2002). "21". Microsoft SQL Server 2000 (2nd ed.). SAMS. Administering Very Large SQL Server Databases. ISBN 978-0672324673. https://archive.org/details/microsoftsqlserv00rayr. 
  9. "Oracle Database Release 18 - VLDB and Partitioning Guide". https://docs.oracle.com/en/database/oracle/oracle-database/18/vldbg/partition-intro.html. 
  10. "The Very Large Database Problem - How to Backup & Recover 30–100 TB Databases". actifio. http://cdn2.hubspot.net/hubfs/214442/Actifio_For_Very_Large_Databases_White_Paper.pdf. 
  11. 11.0 11.1 Hussain, Syed Jaffer (2014). "Tuning & Applying Best Practices On Very Large Databases (VLDB)". Sangam: AIOUG. http://www.aioug.org/sangam14/images/Sangam14/Presentations/201461_Hussain_ppt.pdf. 
  12. Chaves, Warner (7 January 2015). "Top 10 Must-Do Items for your SQL Server Very Large Database". http://sqlturbo.com/top-10-must-do-items-for-your-sql-server-very-large-database/. 
  13. 13.0 13.1 13.2 13.3 Furman, Dimitri (22 January 2018). "SQL Server VLDB in Azure: DBA Tasks Made Simple". in Rajesh Setlem; Mike Weiner; Xiaochen Wu. https://blogs.msdn.microsoft.com/sqlcat/2018/01/22/sql-server-vldb-in-azure-dba-tasks-made-simple/. 
  14. "Specialized Requirements for Relational Data Warehouse Servers". 21 June 1996. http://www.redbrick.com/rbs-g/whitepapers/tenreq_wp.html. 
  15. "Cluster design considerations". https://developer.couchbase.com/documentation/server/3.x/admin/Concepts/bp-clusterDesign.html. 
  16. "Cross Datacenter Replication (XDCR)". https://developer.couchbase.com/documentation/server/3.x/admin/XDCR/xdcr-intro.html. 
  17. Chien, Tim. "Snapshots Are NOT Backups". https://www.oracle.com/technetwork/database/availability/rman-fra-snapshot-322251.html. 
  18. "Using a split mirror as a backup image". https://www.ibm.com/support/knowledgecenter/en/SSEPGG_9.5.0/com.ibm.db2.luw.admin.ha.doc/doc/t0006423.html. 
  19. "Chapter 1 High Availability and Scalability". https://dev.mysql.com/doc/mysql-ha-scalability/en/ha-overview.html. 
  20. Brooks, Charlotte; Leung, Clem; Mirza, Aslam; Neal, Curtis; Qiu, Yin Lei; Sing, John; Wong, Francis TH; Wright, Ian R (March 2007). "Chapter 1. Three Business solution segments defined". IBM System Storage Business Continuity: Part 2 Solutions Guide. IBM Redbooks. ISBN 978-0738489728. 
  21. Akhtar, Ali Navid; Buchholtz, Jeff; Ryan, Michael; Setty, Kumar (2012). "Database Backup and Recovery Best Practices". https://www.isaca.org/Journal/archives/2012/Volume-1/Pages/Database-Backup-and-Recovery-Best-Practices.aspx. 
  22. Tariq, Ovais (2011-07-14). "Understanding B+tree Indexes and how they Impact Performance". http://www.ovaistariq.net/733/understanding-btree-indexes-and-how-they-impact-performance/. 
  23. Shrestha, Raju (2017). "High Availability and Performance of Database in the Cloud - Traditional Master-slave Replication versus Modern Cluster-based Solutions". 7th International Conference on Cloud Computing and Services. 1: CLOSER. SCITEPRESS – Science and Technology Publications, Lda. doi:10.5220/0006294604130420. ISBN 978-989-758-243-1. https://www.researchgate.net/publication/317299391. 
  24. "Encyclopedia". https://www.pcmag.com/encyclopedia/term/40879/database-machine. 
  25. Burleson, Donald (26 March 2015). "Oracle Backup VLDB tips". http://www.dba-oracle.com/t_backup_vldb.htm. 
  26. "Oracle Partitioning in Oracle Database 12c Release 2 Extreme Data Management and Performance for every System". March 2017. https://www.oracle.com/technetwork/database/options/partitioning/partitioning-wp-12c-1896137.pdf. 
  27. 27.0 27.1 27.2 Teske, Thomas (8 February 2018). Get the best out of Oracle Partitioning - A practical guide and reference (PDF) (Speech). Cern. Hermann Bär. 40-S2-C01 - Salle Curie (CERN): Oracle. Archived (PDF) from the original on 12 October 2018. Retrieved 12 October 2018.CS1 maint: location (link)
  28. Steel, Phil; Poggemeyer, Liza; Plett, Corey (1 August 2018). "Server Hardware Performance Considerations". https://docs.microsoft.com/en-us/windows-server/administration/performance-tuning/hardware/. 
  29. Li, Yishan; Manoharan, Sathiamoorthy (2013). "A performance comparison of SQL and NoSQL databases". 2013 IEEE Pacific Rim Conference on Communications, Computers and Signal Processing (PACRIM). IEEE. p. 15. doi:10.1109/PACRIM.2013.6625441. ISBN 978-1-4799-1501-9.