Introduction
The Seattle Report on Database Research 는 5년 마다 DB분야를 leading하는 사람들이 앞으로 분야의 미래에 대해 논하는 리포트이다. 글을 쓰는 시점에서 가장 가까운 리포트1인 2018년의 리포트를 읽어보았다. 다소 늦은 감이 있지만, 이 글에서는 이 리포트2에서 논하는 Research Challenge 중 내가 관심 가지는 분야의 것들에 대해 좀 정리해보고자 한다.
이 report에서는 주로 DB분야의 mainstream이 되는 분야만을 다루고 있다.
Selected Keywords
- Data provenance
- Metadata management
- Disaggregation
- Heterogenous computation
- Data lakes
- ML workloads
Research Challenges
The four research challenge sections include:
- Data science
- Data governance
- Cloud data services
- Database engines
Data Science
Data science는 ‘the process and systems that enable the extraction of knowledge or insights from data in various forms, either structured or unstructured’로 정의된다고 한다. 결국, raw data에서부터 data cleansing/transformation을 거쳐 data warehouse를 통해 OLAP 질의를 하는 과정을 거친다. 이 과정은 매우 복잡하고 다양한 환경을 포함하며 시간에 따라 가변성을 가지기 때문에, data scientist들이 쉽게 접근할 수 있는 Jupyter, Spark, Zeppelin같은 툴이 적극적으로 요구된다. 거기에 더해 ML framework까지도 pipeline이 연장될 수 있다.
- Data to insights pipeline : data scientists들은 insight를 얻기 위해 80-90%의 시간을 사용한다. DB field의 expertise를 적용해서 pipeline construction에 들어가는 cost를 단축시킬 수 있어야 한다.
- Data context and provenance : Data의 특징과 그 impact를 파악하고 있어야 한다. 이 과정에서
Data provenance
problem이 매우 중요하고, data science의 key라고 할 수 있으며, scalability를 만족하는 provenance technique이 요구된다. - Data exploration at scale + Interactive exploratory analysis + Data profiling
- Metadata management - metadata 자체가 big data라면? Data provenance와의 연계 3
Data governance
.
Cloud Services
- Serverless data services : IaaS에서의 architectural change - 는 autoscaling이나 pay-as-you-go를 지원 가능하게 해 준다. Amazon Aurora4가 가장 leading technology를 갖고 있는 듯 하다. Faas(Function-as-a-service도 고려해 봐야.
- Disaggregation : Disaggregation이란 시스템 안에서 computation과 memory/storage를 분리하는 것이다. 하지만 low latency를 위해 caching이 연구되어야 한다. disaggregation이 적용되면 independent scaling이 가능해진다.
- Auto-tuning : 많은 cloud database는 적합한 configuration 위에서 돌아가지 않는데, 무수한 telemetry logs를 통해 functionality를 개선할 수 있다.
Database Engines
Cloud platforms and hardware innovations are leading to the exploaration of new architectures for database systems.
- Heterogenous computation : Inevitable trend toward heterogenous computation - as Dennard scaling is dead and GPU/RDMAs/fast SSDs and NVRAM arise. 이것에 맞춰 re-architecting database engine and right abstrcations이 필요하다. 나아가 disaggregation 관점에서 hw-sw co-design 역시 요구된다.
- Distributed transactions
- Data lakes : Increasing need to consume data froma a variety of data sources, structured/semi-structured - to transform and perform complex analyses, flexibly. 이 요구는 traditional data warehouse에서 data lake로의 transition을 이끌어냈다. Data lake는 flexible storage repository이다. 또 Data lake는 disaggregated architecture와 만나 computation과 storage의 separation을 가속시킬 수 있다. An important challenge for data lakes is finding relavant data for a given task efficiently. Enabling scalable querying on the heterogenous collection of data demands caching solutions that tradoff performance, scale and cost.
- Approximation in query answering
- Machine learning workloads : Challange는, databas extensibility를 leverage함으로써 ‘in-database’ inferencing 이 가능하도록 해야 한다. DB 안에서 직접적으로 ML 모델이 쿼리되어 돌아가야 한다. BERT나 GPT-3같은 large model을 heterogenous HW에서 돌려야 하는데, 여기서 database engine이 어떻게 발전할 것인지 고민해야 한다.
- Machine learning for reimagining data platform components : DB 곳곳에 적용된 magic number와 threshold를 모두 learned 값으로 바꾸려는 시도가 있다.
Summary
Report가 작성된지 만 4년이 지났지만 현재 industry에 적극적으로 적용되는 기술은 아직 크게 없어 보이고(그나마 꼽자면 클라우드 DB 기술들), 다 아직은 갈 길이 먼 주제들로 보인다.
개인적으로는 Data provenance가 정말 흥미로운 주제라고 생각한다. Data의 origin을 다루는, lineage에 대한 정보이고 잘 파악해 둔다면 상위 application에서 많은 응용 및 최적화 factor로 작용할 수 있을 것으로 보인다. Cloud database도 흥미가 가는데, 기존 database architecture를 많이 변경해야 할 뿐 더러, Heterogenous computation이 cloud 위에서 엄청난 synergy를 보일 수 있다고 생각한다. 이 사이에서 bridge를 놓는 disaggregation도 중요하게 다뤄야져야 할 것으로 보인다. 마지막으로, semi-structured data의 유입이 많아지고 있고, 이를 잘 처리하기 위한, ‘flexible’하면서 scalable한 storage + query engine이 필요할 것이다. Schema evolution과 같은 practical한 문제들을 실질적으로 해결하는 엔진이 필요하다. 마지막으로, ML workload를 DB위에서 수행하는 것은 정말 fancy하지만, 현재 상황에서는 갈 길은 멀어 보인다. 하지만 heterogenous computation과 연계하여 풀 문제들이 많을 것으로 보:인다.
-
다음 리포트는 23년에 나온다. ↩︎