Giới thiệu dự án
Thị trường bất động sản (Real Estate) hiện đại đang chứng kiến sự bùng nổ dữ liệu từ nhiều kênh phân tán: sàn giao dịch thương mại điện tử, mạng xã hội, hồ sơ pháp lý quy hoạch và hệ thống định giá thị trường. Theo các báo cáo phân tích thị trường dữ liệu doanh nghiệp, hơn 80% dữ liệu bất động sản sinh ra ở dạng bán cấu trúc (semi-structured) hoặc phi cấu trúc (unstructured), khiến các hệ thống quản trị dữ liệu truyền thống gặp nút thắt nghiêm trọng về hiệu năng và khả năng mở rộng.
Đề tài "Xây dựng Data Lakehouse trên nền tảng Databricks đáp ứng các dịch vụ BI cho doanh nghiệp kinh doanh bất động sản" do nhóm sinh viên Vũ Trung Kiên và Mai Thành Trung (Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật TP.HCM) thực hiện dưới sự hướng dẫn của ThS. Nguyễn Văn Thành, tập trung giải quyết các bài toán cốt lõi trong thu thập, xử trị, lưu trữ và khai phóng giá trị dữ liệu bất động sản trên quy mô lớn.
+----------------------------------------------+
| THU THẬP DỮ LIỆU BẤT ĐỘNG SẢN (Nhatot.com) |
+----------------------+-----------------------+
|
v
+----------------------------------------------+
| AZURE BLOB STORAGE / ADLS GEN2 |
+----------------------+-----------------------+
|
v
+--------------------------------------------------------------+
| DATABRICKS LAKEHOUSE PLATFORM |
| +--------------------------------------------------------+ |
| | Mô hình Medallion: Bronze -> Silver -> Gold (Delta) | |
| +--------------------------------------------------------+ |
| | Apache Spark 3.4.1 + Unity Catalog + MLflow 2.8.0 | |
| +--------------------------------------------------------+ |
+---------------+------------------------------+---------------+
| |
v v
+-------------------------------+ +---------------------------+
| POWER BI DASHBOARDS | | MACHINE LEARNING |
| (Báo cáo tổng quan, phân tích | | (Linear Regression, |
| chi tiết theo vùng & loại) | | Random Forest, Neural) |
+-------------------------------+ +---------------------------+
Problem Statement
Doanh nghiệp kinh doanh bất động sản đang đối mặt với 3 thách thức kỹ thuật lớn:
- Phân mảnh dữ liệu (Data Silos): Dữ liệu thu thập từ các nền tảng phân loại tin rao (như Nhatot.com) chứa nhiều thông tin nhiễu, lỗi định dạng, giá trị ngoại lai (outliers) và không có schema cố định.
- Hạn chế của kiến trúc 2 tầng (Two-Tier Architecture): Việc duy trì song song Data Lake (để lưu dữ liệu thô chi phí thấp) và Data Warehouse (để phục vụ BI) gây ra hiện tượng trùng lặp dữ liệu (data redundancy), thiếu tính nhất quán ACID, và độ trễ pipeline ETL cao.
- Khoảng cách giữa BI và Machine Learning: Các kho dữ liệu truyền thống chỉ hỗ trợ truy vấn SQL cơ bản, gặp khó khăn khi tích hợp trực tiếp các thuật toán học máy phân tích dự báo giá bán.
Mục tiêu đề tài
- Thiết kế và xây dựng Data Lakehouse: Tận dụng công nghệ Databricks và Delta Lake để thống nhất tầng lưu trữ, đảm bảo tính toàn vẹn dữ liệu chuẩn ACID.
- Phát triển Data Pipeline tự động: Triển khai quy trình ETL/ELT chuẩn hóa theo kiến trúc Medallion (Bronze – Silver – Gold) xử lý dữ liệu web scraping bất động sản.
- Thiết kế Dimensional Data Model (Star Schema): Xây dựng các bảng Fact và Dimension tối ưu cho các truy vấn phân tích đa chiều (OLAP).
- Trực quan hóa Business Intelligence: Xây dựng hệ thống báo cáo chuyên sâu trên Microsoft Power BI phản ánh xu hướng giá, phân khúc thị trường và mật độ tin đăng.
- Đào tạo mô hình Machine Learning: Xây dựng và tinh chỉnh các mô hình dự báo định giá bất động sản (Linear Regression, Random Forest, Neural Network) quản lý vòng đời bằng MLflow.
Phạm vi và giới hạn
- Nguồn dữ liệu: Dữ liệu tin rao bất động sản thực tế thu thập từ sàn giao dịch
Nhatot.com. - Môi trường hạ tầng: Nền tảng Databricks Lakehouse Platform tích hợp điện toán đám mây Azure Blob Storage.
- Giới hạn: Tập trung vào các giao dịch mua bán nhà đất nhà ở đô thị, chưa bao gồm phân tích dữ liệu hình ảnh vệ tinh và hợp đồng công chứng trực tiếp.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí | Data Warehouse truyền thống | Data Lake cổ điển | Databricks Data Lakehouse |
|---|---|---|---|
| Định dạng dữ liệu | Chỉ dữ liệu có cấu trúc (Structured) | Đa dạng (Cấu trúc, Bán cấu trúc, Phi cấu trúc) | Hỗ trợ toàn diện mọi định dạng (Delta/Parquet) |
| Giao dịch ACID | Hỗ trợ đầy đủ | Không hỗ trợ (Dễ gặp dirty read/corrupted data) | Hỗ trợ hoàn toàn thông qua Delta Log |
| Chi phí lưu trữ | Rất cao (Proprietary Storage) | Thấp (Object Storage như Azure Blob/S3) | Tối ưu (Object Storage kết hợp nén Parquet) |
| Hiệu năng truy vấn BI | Rất nhanh (Index, Caching, OLAP cubes) | Chậm (Full-scan trên file) | Rất nhanh (Photon engine, Data Skipping, Z-Order) |
| Tích hợp Data Science/ML | Kém, khó chạy trực tiếp mô hình | Khá tốt nhưng thiếu quản trị và metadata | Toàn diện (Native Apache Spark, MLflow, GPU compute) |
Ma trận ưu tiên yêu cầu hệ thống (MoSCoW)
- Must-have (Bắt buộc): Pipeline ETL Bronze-Silver-Gold; Bảng Delta hỗ trợ ACID; Star Schema (
Fact_RealEstate,Dim_Location,Dim_Property_Type,Dim_Time); Dashboard BI tổng quan. - Should-have (Cần có): Tối ưu hóa Z-Order Clustered Index trên các trường truy vấn chính; Tự động hóa MLOps bằng MLflow Tracking.
- Could-have (Có thể có): Mạng nơ-ron sâu (Deep Neural Network) tùy chỉnh Dropout chống Overfitting để định giá nhà đất.
- Won't-have (Tạm hoãn): Pipeline streaming sub-second qua Apache Kafka (sử dụng batch streaming/scheduled ETL trong phạm vi hiện tại).
Thiết kế hệ thống
Kiến trúc hệ thống được xây dựng theo mô hình Medallion Architecture trên nền tảng Databricks:
[Web Scraper: Python/Requests]
│ (Raw CSV Files)
▼
[Azure Blob Storage / Data Lake Storage Gen2]
│
▼
[BRONZE LAYER (Delta Lake)] ── Raw Ingestion, Metadata appending
│
▼ (PySpark Transformation & Cleansing)
[SILVER LAYER (Delta Lake)] ── Cleaned, Deduplicated, Type-cast, Outlier filtered
│
▼ (Dimensional Modeling / Star Schema)
[GOLD LAYER (Delta Lake)] ── Fact & Dimension Tables, Aggregated Marts
│
├───► [Microsoft Power BI Desktop / Service] (DirectQuery / Import)
└───► [Databricks Machine Learning & MLflow] (Feature Store & Model Training)
Technology Stack và phiên bản cụ thể
- Storage & Compute Engine: Databricks Runtime 13.3 LTS (Long Term Support), Apache Spark 3.4.1 (Distributed Computing), Delta Lake 2.4.0.
- Cloud Storage: Azure Blob Storage / DBFS (Databricks File System).
- Data Governance: Unity Catalog (quản lý metadata, access control, data lineage).
- Data Science & ML: Python 3.10, PySpark SQL/MLlib, Scikit-Learn 1.3.0, TensorFlow/Keras 2.13.0, MLflow 2.8.0.
- Business Intelligence: Microsoft Power BI Desktop v2.128, Power BI Databricks Connector.
Thiết kế mô hình dữ liệu đa chiều (Dimensional Model)
Hệ thống sử dụng Star Schema tại lớp Gold nhằm tối ưu hóa các phép toán tổng hợp (Roll-up, Drill-down, Slice & Dice) trên Power BI:
-- Thiết kế Schema bảng Fact và Dimension trên Delta Lake (Gold Layer)
CREATE TABLE IF NOT EXISTS gold_db.dim_location (
location_id BIGINT GENERATED ALWAYS AS IDENTITY,
province_name STRING,
district_name STRING,
ward_name STRING,
street_name STRING
) USING DELTA;
CREATE TABLE IF NOT EXISTS gold_db.dim_property_type (
type_id INT,
type_name STRING,
category STRING
) USING DELTA;
CREATE TABLE IF NOT EXISTS gold_db.dim_date (
date_id INT,
full_date DATE,
day_of_week INT,
month INT,
quarter INT,
year INT
) USING DELTA;
CREATE TABLE IF NOT EXISTS gold_db.fact_real_estate (
listing_id STRING,
location_id BIGINT,
type_id INT,
date_id INT,
price_total DOUBLE,
area_m2 DOUBLE,
unit_price_per_m2 DOUBLE,
bedroom_count INT,
bathroom_count INT,
legal_status STRING
) USING DELTA
PARTITIONED BY (date_id);
Methodology
Dự án áp dụng phương pháp luận phát triển lặp kết hợp khung Agile/Scrum rút gọn kéo dài từ tháng 02/2024 đến tháng 07/2024, chia thành các giai đoạn:
Tháng 2/2024 Tháng 3-4/2024 Tháng 5/2024 Tháng 6/2024 Tháng 7/2024
[GĐ 1] [GĐ 2] [GĐ 3] [GĐ 4] [GĐ 5]
Nghiên cứu & Thu thập dữ liệu & Xây dựng Star Huấn luyện mô hình Đánh giá toàn diện
Thiết kế Kiến trúc Pipeline ETL Đồng/Bạc Schema & Power BI Machine Learning & Hoàn thiện Đồ án
- Giai đoạn 1 (Tuần 1-4): Nghiên cứu lý thuyết Lakehouse, phân tích kiến trúc Databricks, thiết lập môi trường Azure.
- Giai đoạn 2 (Tuần 5-10): Viết script thu thập dữ liệu tự động, xây dựng ETL pipeline chuyển đổi Bronze sang Silver.
- Giai đoạn 3 (Tuần 11-14): Chuẩn hóa Gold layer, mô hình hóa dữ liệu dạng sao, xây dựng 03 dashboard Power BI.
- Giai đoạn 4 (Tuần 15-18): Trích xuất feature, huấn luyện 03 mô hình học máy (Linear Regression, Random Forest, Neural Network), tracking thí nghiệm qua MLflow.
- Giai đoạn 5 (Tuần 19-20): Đánh giá benchmark, kiểm thử toàn diện, hoàn thiện báo cáo và đóng gói mã nguồn.
Implementation và kết quả
Development Process
1. Ingestion Pipeline: Bronze Layer
Dữ liệu thô từ quá trình cào web định dạng CSV được nạp vào DBFS/Azure Blob Storage và chuyển đổi thành bảng Delta đồng giữ nguyên cấu trúc nguyên bản:
from pyspark.sql.functions import current_timestamp, input_file_name
# Trích xuất dữ liệu thô từ Azure Blob Storage vào Bronze Layer
raw_df = spark.read.format("csv") \
.option("header", "true") \
.option("inferSchema", "true") \
.load("/mnt/raw_data/real_estate_nhatot/*.csv")
# Ghi vào bảng Bronze với metadata tracking
bronze_df = raw_df.withColumn("ingested_at", current_timestamp()) \
.withColumn("source_file", input_file_name())
bronze_df.write.format("delta") \
.mode("append") \
.option("mergeSchema", "true") \
.saveAsTable("bronze_db.real_estate_raw")
2. Cleaning & Standardization: Silver Layer
Tại lớp Silver, dữ liệu được loại bỏ bản ghi trùng lặp, xử lý các trường khuyết thiếu (NULL), chuẩn hóa đơn vị đo lường (triệu/tỷ VND sang VND, diện tích m2), đồng thời lọc bỏ ngoại lai bằng phương pháp Interquartile Range (IQR):
from pyspark.sql.functions import col, regexp_replace, when
bronze_delta = spark.read.table("bronze_db.real_estate_raw")
# Xử lý làm sạch, chuẩn hóa kiểu dữ liệu và lọc nhiễu
silver_df = bronze_delta.filter(col("price").isNotNull() & (col("area") > 5.0) & (col("area") < 2000.0)) \
.withColumn("price_clean", regexp_replace(col("price"), "[^0-9.]", "").cast("double")) \
.withColumn("area_clean", col("area").cast("double")) \
.withColumn("unit_price", col("price_clean") / col("area_clean")) \
.dropDuplicates(["listing_id", "title", "posted_date"])
# Ghi đè có cấu trúc vào Silver Layer
silver_df.write.format("delta") \
.mode("overwrite") \
.option("overwriteSchema", "true") \
.saveAsTable("silver_db.real_estate_cleaned")
3. Huấn luyện mô hình dự báo giá (Machine Learning Pipeline)
Dữ liệu từ lớp Gold được nạp vào Spark DataFrame, vector hóa đặc trưng (VectorAssembler) và đưa vào huấn luyện mô hình dự báo giá nhà.
import mlflow
import mlflow.spark
from pyspark.ml.feature import VectorAssembler, StandardScaler
from pyspark.ml.regression import RandomForestRegressor
from pyspark.ml.evaluation import RegressionEvaluator
# Chuẩn bị tập dữ liệu đặc trưng từ Gold Layer
feature_cols = ["area_m2", "bedroom_count", "bathroom_count", "district_indexed", "type_indexed"]
assembler = VectorAssembler(inputCols=feature_cols, outputCol="raw_features")
feature_data = assembler.transform(gold_data)
scaler = StandardScaler(inputCol="raw_features", outputCol="features", withStd=True, withMean=True)
scaled_data = scaler.fit(feature_data).transform(feature_data)
train_data, test_data = scaled_data.randomSplit([0.8, 0.2], seed=42)
with mlflow.start_run(run_name="Random_Forest_Property_Pricing"):
rf = RandomForestRegressor(featuresCol="features", labelCol="price_total", numTrees=100, maxDepth=10)
rf_model = rf.fit(train_data)
predictions = rf_model.transform(test_data)
evaluator_mae = RegressionEvaluator(labelCol="price_total", predictionCol="prediction", metricName="mae")
evaluator_r2 = RegressionEvaluator(labelCol="price_total", predictionCol="prediction", metricName="r2")
mae = evaluator_mae.evaluate(predictions)
r2 = evaluator_r2.evaluate(predictions)
# Log tham số và chỉ số vào MLflow Registry
mlflow.log_param("numTrees", 100)
mlflow.log_param("maxDepth", 10)
mlflow.log_metric("mae", mae)
mlflow.log_metric("r2", r2)
mlflow.spark.log_model(rf_model, "rf_model")
Testing và validation
Hiệu năng của các mô hình học máy được đánh giá chi tiết thông qua các chỉ số: Sai số tuyệt đối trung bình ($MAE$), Sai số bình phương trung bình ($MSE$), Căn bậc hai sai số bình phương trung bình ($RMSE$) và Hệ số xác định ($R^2$).
Bảng so sánh kết quả đánh giá mô hình học máy
| Mô hình | Tham số tối ưu | MAE (Tỷ VND) | MSE ($10^{18}$) | RMSE (Tỷ VND) | Hệ số $R^2$ |
|---|---|---|---|---|---|
| Linear Regression | Baseline | 2.14 | 8.92 | 2.98 | 0.612 |
| Random Forest Regressor | numTrees=100, maxDepth=10 |
1.21 | 3.14 | 1.77 | 0.846 |
| Neural Network (MLP) | batch_size=8, Dropout=0.2 |
1.35 | 3.86 | 1.96 | 0.815 |
BIỂU ĐỒ SO SÁNH HỆ SỐ R2 CỦA CÁC MÔ HÌNH
Linear Regression [========================> ] 0.612
Neural Network [=====================================> ] 0.815
Random Forest [========================================> ] 0.846
0.0 1.0
Tầm quan trọng của thuộc tính (Feature Importance)
Phân tích từ mô hình Random Forest cho thấy hai yếu tố chi phối mạnh nhất đến giá trị bất động sản:
- Diện tích căn nhà (
area_m2): Chiếm 48.6% mức độ quan trọng. - Vị trí khu vực quận/huyện (
location_district): Chiếm 31.2% mức độ quan trọng. - Các thuộc tính tiện ích (Số phòng ngủ, số phòng vệ sinh, loại hình nhà): Chiếm 20.2% còn lại.
Kết quả đạt được
- Hiệu năng xử lý Data Pipeline:
- Xử lý thành công toàn bộ tập dữ liệu thô với tốc độ nạp dữ liệu tăng hơn 65% so với pipeline chạy trên RDBMS truyền thống.
- Cơ chế nén tệp tin Parquet và tối ưu hóa metadata của Delta Lake giúp tiết kiệm 42% dung lượng lưu trữ đám mây.
- Báo cáo Business Intelligence trên Power BI:
- Báo cáo tổng quan: Thể hiện phân bố giá bán trung bình theo thời gian, số lượng tin đăng phân bổ theo từng phân khúc.
- Báo cáo chi tiết theo khu vực: Bản đồ nhiệt (Heatmap) thể hiện biến động giá $/m^2$ giữa các quận nội thành và huyện ngoại thành TP.HCM.
- Báo cáo phân loại hình: So sánh tương quan giữa giá/diện tích của nhà phố, biệt thự, căn hộ chung cư và đất nền.
Đổi mới và đóng góp
- Loại bỏ sự dư thừa của kiến trúc Data Warehouse + Data Lake truyền thống: Ứng dụng thành công nền tảng Databricks Lakehouse để thực hiện xử lý dữ liệu hợp nhất tại một điểm (Single Source of Truth), cho phép cả kỹ sư BI và nhà khoa học dữ liệu cùng làm việc trên cùng một bản sao dữ liệu duy nhất mà không cần dịch chuyển dữ liệu (zero-copy architecture).
- Ứng dụng tính năng Time Travel và ACID Transactions trên dữ liệu Bất động sản: Khả năng truy vấn ngược các phiên bản lịch sử của bảng Delta giúp dễ dàng kiểm toán dữ liệu giá nhà đất theo từng mốc thời gian, ngăn ngừa hoàn toàn hiện tượng dirty data khi có nhiều batch job chạy song song.
- Tối ưu hóa mô hình học máy tích hợp sâu vào quy trình BI: Không dừng lại ở việc báo cáo tĩnh (Descriptive Analytics), hệ sinh thái Databricks cho phép đưa trực tiếp kết quả dự báo định giá từ mô hình Random Forest vào Gold Layer để phục vụ phân tích dự báo (Predictive Analytics) trên Power BI Dashboard.
Ứng dụng thực tế và triển khai
Use Cases thực tế
- Định giá tự động (Automated Valuation Model - AVM): Doanh nghiệp môi giới bất động sản có thể nhanh chóng tra cứu giá trị hợp lý của căn nhà dựa trên các đặc trưng diện tích, vị trí và loại hình, giảm thời gian thẩm định thực địa từ 3 ngày xuống dưới 5 phút.
- Tối ưu chiến dịch tiếp thị và phân khúc khách hàng: Đội ngũ kinh doanh dễ dàng xác định khu vực có thanh khoản cao và mật độ tìm kiếm lớn để phân bổ ngân sách quảng cáo.
- Cảnh báo biến động thị trường: Hệ thống dashboard tự động phát hiện các đợt sốt đất ảo hoặc phân khúc đóng băng thanh khoản thông qua phân tích biến động giá đơn vị ($/m^2$).
Chiến lược triển khai hệ thống
+--------------------------+ +--------------------------+ +--------------------------+
| 1. BƯỚC CHUẨN BỊ | | 2. TRIỂN KHAI PIPELINE | | 3. VẬN HÀNH & KẾT NỐI |
| - Tạo Azure Storage | ==> | - Cấu hình Databricks | ==> | - Lập lịch Jobs chạy ETL |
| - Thiết lập Workspace | | Clusters (Runtime 13.3)| | - Xuất báo cáo Power BI |
| - Cấp quyền Unity Catalog| | - Thực thi Bronze-Gold | | - Deploy Model qua MLflow|
+--------------------------+ +--------------------------+ +--------------------------+
# 1. Cấu hình kết nối Azure Blob Storage trong Databricks Workspace
spark.conf.set(
"fs.azure.account.key.<storage-account-name>.blob.core.windows.net",
"<storage-account-access-key>"
)
# 2. Thực thi Z-Ordering để tối ưu hóa tốc độ truy vấn trên Gold Layer
OPTIMIZE gold_db.fact_real_estate
ZORDER BY (location_id, type_id);
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Nguồn dữ liệu: Dữ liệu đầu vào phụ thuộc chủ yếu vào tin rao từ một nền tảng trực tuyến, đôi khi chứa các tin đăng trùng lặp hoặc mức giá ảo do người đăng tự định mức.
- Xử lý ngôn ngữ tự nhiên (NLP): Chưa khai thác sâu nội dung mô tả chi tiết căn nhà (text description) để trích xuất các thông tin ngữ cảnh như hướng nhà, hẻm xe hơi, nội thất cao cấp.
Hướng phát triển tương lai
- Mở rộng Real-time Ingestion: Sử dụng Apache Kafka và Spark Structured Streaming để cập nhật tin đăng theo thời gian thực (near real-time streaming).
- Tích hợp Generative AI & LLM: Xây dựng hệ thống RAG (Retrieval-Augmented Generation) kết hợp Large Language Models để phân tích trường text mô tả, tự động đánh giá tính pháp lý và độ tin cậy của tin rao.
- Mở rộng quy mô địa lý: Tích hợp dữ liệu toàn quốc và bổ sung các lớp dữ liệu không gian địa lý (Geospatial Analysis) bằng Apache Sedona hoặc Kepler.gl.
Đối tượng hưởng lợi
+-----------------------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI |
+----------------------------+----------------------------+-------------------------------+
| SINH VIÊN & NGHIÊN | KỸ SƯ DỮ LIỆU & LẬP | DOANH NGHIỆP BẤT ĐỘNG |
| CỨU SINH | TRÌNH VIÊN | SẢN |
| Tài liệu mẫu hoàn chỉnh về | Kiến trúc tham chiếu mẫu | Giảm 60% thời gian xử lý dữ |
| Medallion Architecture và | chuẩn công nghiệp về | liệu phân tích, nâng cao năng |
| Spark MLOps thực chiến. | Delta Lake & Power BI. | lực cạnh tranh định giá. |
+----------------------------+----------------------------+-------------------------------+
- Sinh viên ngành Kỹ thuật Dữ liệu/CNTT: Cung cấp tài liệu tham khảo thực tế về cách tổ chức kiến trúc Data Lakehouse, kỹ thuật xử lý dữ liệu lớn với PySpark và quy trình MLOps trên nền tảng Databricks.
- Kỹ sư Dữ liệu (Data Engineers) & Data Analysts: Cung cấp template hoàn chỉnh về việc thiết kế Star Schema trên Delta Lake, cách cấu hình phân vùng và tối ưu hóa Z-Order index để tăng tốc độ truy vấn Power BI DirectQuery.
- Doanh nghiệp và Nhà đầu tư Bất động sản: Tiếp cận giải pháp công nghệ toàn diện giúp ra quyết định dựa trên dữ liệu định lượng, giảm thiểu rủi ro định giá sai lệch và tối ưu hóa chiến lược kinh doanh.
Câu hỏi thường gặp
1. Yêu cầu phần cứng và tài nguyên đám mây để triển khai hệ thống này là gì?
Hệ thống được vận hành trên Databricks Workspace (hạ tầng Azure, AWS hoặc GCP). Cấu hình khuyến nghị tối thiểu bao gồm: Cluster 1 Driver Node (Standard_DS3_v2, 4 cores, 14GB RAM) và 2 Worker Nodes với tính năng Auto-scaling từ 2 đến 8 nodes để xử lý các tác vụ Spark tính toán nặng.
2. Delta Lake giải quyết bài toán xung đột dữ liệu (Concurrency) như thế nào?
Delta Lake sử dụng cơ chế Optimistic Concurrency Control (OCC) và Transaction Log (_delta_log). Khi nhiều tiến trình ghi/đọc đồng thời, Delta Lake đảm bảo các giao dịch tuân thủ nghiêm ngặt tính chất ACID, tự động giải quyết xung đột hoặc rollback nếu có lỗi xảy ra.
3. Tại sao chọn mô hình Random Forest thay vì Linear Regression cho bài toán định giá?
Dữ liệu bất động sản có tính phi tuyến tính cao và các đặc trưng có mối tương quan phức tạp (ví dụ: diện tích lớn ở vùng ven có giá/m2 rẻ hơn diện tích nhỏ tại trung tâm). Random Forest nắm bắt xuất sắc các mối quan hệ phi tuyến này, đạt hệ số $R^2 = 0.846$, vượt trội hơn hẳn so với mức $0.612$ của Linear Regression.
4. Hệ thống kết nối với Power BI bằng phương thức nào để đảm bảo hiệu năng?
Hệ thống sử dụng Databricks Connector trên Power BI. Với các bảng tổng hợp ở Gold Layer, hệ thống hỗ trợ cả chế độ Import (lưu vào bộ nhớ trong của Power BI cho dashboard tốc độ cao) lẫn DirectQuery (truy vấn trực tiếp qua Databricks SQL Warehouse tận dụng công nghệ tối ưu Photon Engine).
5. Chi phí vận hành Data Lakehouse so với Data Warehouse truyền thống chênh lệch thế nào?
Data Lakehouse tách biệt hoàn toàn giữa Tầng tính toán (Compute Plane) và Tầng lưu trữ (Storage Plane). Doanh nghiệp chỉ chi trả chi phí lưu trữ tệp tin trên Object Storage (rất rẻ, ~$0.02/GB/tháng) và chỉ trả tiền điện toán Spark khi cluster hoạt động, giúp giảm từ 40% - 60% tổng chi phí sở hữu (TCO) so với các giải pháp DW độc quyền.
Kết luận
Đồ án tốt nghiệp "Xây dựng Data Lakehouse trên nền tảng Databricks đáp ứng các dịch vụ BI cho doanh nghiệp kinh doanh bất động sản" đã giải quyết trọn vẹn bài toán tích hợp dữ liệu lớn trong lĩnh vực bất động sản. Bằng việc kết hợp sức mạnh xử lý phân tán của Apache Spark, tính toàn vẹn ACID của Delta Lake, khả năng quản trị tập trung của Databricks, hệ thống trực quan hóa chuyên sâu của Power BI và quy trình MLOps qua MLflow, công trình đã chứng minh tính khả thi và hiệu quả vượt trội của kiến trúc Data Lakehouse thế hệ mới.
Kết quả nghiên cứu không chỉ mang giá trị học thuật xuất sắc trong chuyên ngành Kỹ thuật Dữ liệu mà còn mở ra tiềm năng ứng dụng thực tiễn to lớn cho các doanh nghiệp PropTech và tổ chức tài chính trong kỷ nguyên chuyển đổi số lấy dữ liệu làm trung tâm.