ESP Journal of Engineering & Technology Advancements |
© 2024 by ESP JETA |
Volume 4 Issue 3 |
Year of Publication : 2024 |
Authors : Pradeep Bhosale |
![]() |
Pradeep Bhosale, 2024. "High-Performance Data Storage: A Comparative Analysis of AVRO, Parquet, and ORC Formats in Modern Data Systems", ESP Journal of Engineering & Technology Advancements 4(3): 165-170.
Modern data ecosystems, encompassing distributed analytics platforms and big data pipelines, have propelled the need for efficient, scalable file formats that handle vast volumes of structured and semi-structured data. Among the most prominent are Avro, Parquet, and ORC each offering unique strengths in schema evolution, columnar storage, compression, and read performance. This paper provides a comprehensive analysis of these formats outlining their architectural underpinnings, typical usage scenarios, integration with frameworks (e.g., Apache Spark, Hive), and the performance trade-offs that emerge under large-scale workloads. We begin by surveying the evolution of data storage in distributed processing (MapReduce to Spark) and how Avro, Parquet, and ORC each address challenges such as schema evolution, compression, and data skipping. We then detail the internal row vs. columnar approaches of Avro vs. Parquet/ORC, exploring how these design choices impact I/O overhead, CPU usage, and analytics queries. Through extensive real-world references, code snippets (like sample Avro schemas or Parquet read code) and diagrams, we highlight best practices (like partitioning, predicate pushdown, Sargable queries) and anti-patterns (excessive small files, ignoring compression benefits). Ultimately, this paper serves as a practical guide for data engineers, architects, and platform teams deciding among Avro, Parquet, or ORC for high-performance data storage in modern big data systems.
[1] Fowler, M. and Lewis, J., “Microservices Resource Guide,” martinfowler.com, 2016.
[2] Newman, S., Building Microservices, O’Reilly Media, 2015.
[3] Apache Avro Documentation, https://avro.apache.org/, Accessed 2022.
[4] Amazon Whitepaper, “Understanding CAP Theorem in NoSQL,” 2020.
[5] Parquet Documentation, https://parquet.apache.org/, Accessed 2021.
[6] Avro Schema Evolution Guide, Confluent Blog, 2019.
[7] Netflix Tech Blog, “Parquet in a Large-Scale Production Environment,” 2018.
[8] Databricks Blog, “Predicate Pushdown in Parquet for Spark SQL,” 2020.
[9] Brandolini, A., Introducing EventStorming, Leanpub, 2013.
[10] ORC Documentation, https://orc.apache.org/, Accessed 2021.
[11] Blum, A. and Mansfield, G., “Indexing Columnar Data in ORC,” ACMQueue, 2019.
[12] CNCF Whitepaper, “Data Formats in Cloud-Native Analytics,” 2021.
[13] G. Cockcroft, “Comparing Avro vs. Parquet for Analytical Queries,” ACM DevOps Conf, 2019.
[14] M. Turnbull, The Data Lake Book, Independently Published, 2020.
[15] Gilt Tech Blog, “Hive and Columnar Evolution Patterns,” 2018.
[16] Krishnan, S., “E-Commerce Data Lake Architecture: Avro Ingestion, Parquet Analytics,” IEEE Software, vol. 35, no. 2, 2019.
[17] Blum, A. et al., “Logistics and Graph Queries with ORC Backed Aggregates,” ACM SoCC Workshops, 2020.
[18] Netflix Tech Blog, “Future of Columnar Data in 2024,” 2022.
AVRO, Parquet, ORC, Columnar Storage, Big Data, Schema Evolution, Data Analytics, Apache Spark, Compression, High Performance.