Very large database
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
[edit]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
[edit]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
[edit]Key areas where a VLDB may present challenges include configuration, storage, performance, maintenance, administration, availability and server resources.[11]: 11
Configuration
[edit]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
[edit]The complexities of managing a VLDB can increase exponentially for the database administrator as database size increases.[13]
Availability and maintenance
[edit]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
[edit]Best practice is for backup and recovery to be architectured in terms of the overall availability and business continuity solution.[20][21]
Performance
[edit]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
[edit]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
[edit]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
[edit]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
[edit]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
[edit]References
[edit]- ^ "Oracle Database Online Documentation 11g Release 1 (11.1) / Database Administration Database Concepts". oracle. 18 Very Large Databases (VLDB). Retrieved 3 October 2018.
- ^ a b "Very Large Database (VLDB)". Technopedia. Archived from the original on 4 July 2018. Retrieved 3 October 2018.
- ^ Gaines, R. S. and R. Gammill. Very Large Data Bases: An Emerging Research Area, Informal working paper, RAND Corporation
- ^ Data Processing Magazine. North American Publishing Company. 1964. p. 18,58.
- ^ a b Widlake, Marin (18 September 2009). "What is a VLDB?". mwidlake. Archived from the original on 6 October 2018. Retrieved 7 October 2018.
- ^ Sidley, Edgar H. (1 April 1980). 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.
- ^ 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. S2CID 6359244.
- ^ a b Rankins, Ray; Jensen, Paul; Bertucci, Paul (18 December 2002). "21". Microsoft SQL Server 2000 (2nd ed.). SAMS. ISBN 978-0672324673. Administering Very Large SQL Server Databases.
- ^ "Oracle Database Release 18 - VLDB and Partitioning Guide". Oracle. 1 Introduction to Very Large Databases. Archived from the original on 3 October 2018. Retrieved 3 October 2018.
- ^ "The Very Large Database Problem - How to Backup & Recover 30–100 TB Databases" (PDF). actifio. Archived (PDF) from the original on 19 February 2018.
- ^ a b Hussain, Syed Jaffer (2014). "Tuning & Applying Best Practices On Very Large Databases (VLDB)" (PDF). Sangam: AIOUG. Archived (PDF) from the original on 4 October 2018.
- ^ Chaves, Warner (7 January 2015). "Top 10 Must-Do Items for your SQL Server Very Large Database". SQLTURBO. Archived from the original on 13 December 2017. Retrieved 5 October 2018.
- ^ a b c d Furman, Dimitri (22 January 2018). Rajesh Setlem; Mike Weiner; Xiaochen Wu (eds.). "SQL Server VLDB in Azure: DBA Tasks Made Simple". MSDN. Archived from the original on 6 October 2018. Retrieved 6 October 2018.
- ^ "Specialized Requirements for Relational Data Warehouse Servers". Red Brick Systems, Inc. 21 June 1996. Archived from the original on 10 October 1997.
- ^ "Cluster design considerations". Crouchbase. Archived from the original on 17 October 2018. Retrieved 17 October 2017.
- ^ "Cross Datacenter Replication (XDCR)". Crouchbase. Archived from the original on 17 October 2018. Retrieved 17 October 2017.
- ^ Chien, Tim. "Snapshots Are NOT Backups". Oracle technetwork. Archived from the original on 7 September 2018. Retrieved 10 October 2018.
- ^ "Using a split mirror as a backup image". IBM Knowledge Center. Archived from the original on 9 January 2018. Retrieved 10 October 2018.
- ^ "Chapter 1 High Availability and Scalability". dev.mysql. Archived from the original on 15 December 2016. Retrieved 12 October 2018.
- ^ 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.
- ^ Akhtar, Ali Navid; Buchholtz, Jeff; Ryan, Michael; Setty, Kumar (2012). "Database Backup and Recovery Best Practices". Archived from the original on 29 June 2018. Retrieved 12 October 2012.
- ^ Tariq, Ovais (14 July 2011). "Understanding B+tree Indexes and how they Impact Performance". ovaistariq.net. Archived from the original on 7 February 2018. Retrieved 10 October 2018.
- ^ 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. Vol. 1: CLOSER. SCITEPRESS – Science and Technology Publications, Lda. doi:10.5220/0006294604130420. hdl:10642/6140. ISBN 978-989-758-243-1. Archived from the original on 17 October 2018.
- ^ "Encyclopedia". Definition of: database machine. Archived from the original on 4 July 2016. Retrieved 10 October 2018.
- ^ Burleson, Donald (26 March 2015). "Oracle Backup VLDB tips". Burleson Consulting. Archived from the original on 30 June 2017. Retrieved 11 October 2016.
- ^ "Oracle Partitioning in Oracle Database 12c Release 2 Extreme Data Management and Performance for every System" (PDF). Oracle. March 2017. Archived (PDF) from the original on 15 December 2017. Retrieved 17 October 2018.
- ^ a b c 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.
{{cite speech}}
: CS1 maint: location (link) - ^ Steel, Phil; Poggemeyer, Liza; Plett, Corey (1 August 2018). "Server Hardware Performance Considerations". Microsoft IT Pro Center. Archived from the original on 17 October 2018. Retrieved 17 October 2018.
- ^ 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.