Dataset Overview
The MovieLens 32M dataset is a stable benchmark for recommendation systems and collaborative filtering research, curated by GroupLens Research at the University of Minnesota. It contains approximately 32 million ratings and 2 million tag applications across 87,585 movies, contributed by over 200,000 users. Released in May 2024, the dataset provides a large-scale record of user-item interactions and preferences collected through October 2023. More
Total node count: 288,553
Total edge count: 34,154,446
Dataset Download
You may download this dataset directly from the dataset website. Go to here. Click on the file name
ml-32m.zip to begin downloading.
You can click the button below and download the files prepared by us for smoother import into graph database systems:
Benchmark Workloads
Select a platform below to view the specific data loading commands and queries used to benchmark performance.
Runtime Results
* The unit of all results shown below are in seconds (s)
* MEMORY_LIMIT means the query exceeded the 28 GiB memory limit; TIMEOUT means the query ran for more than two hours without finishing; SKIPPED means the database platform does not support certain features required by the query; POOL LIMIT means the intermediate results generated by the query exceeded the engine-configured memory pool limit; DISK SPILL LIMIT means the engine ran out of disk space while spilling intermediate results; FAILED means the system reported another error.
| Workload | Query ID | PuppyGraph | Neo4j | TigerGraph | GraphFrames |
|---|---|---|---|---|---|
| Neighborhood | Q1 | 0.637 | 2.266 | 0.238 | 31.665 |
| Q2 | 0.699 | 1.864 | 0.449 | 6.273 | |
| Q3 | 8.459 | 21.038 | 4.133 | 6.707 | |
| Q4 | 0.454 | 2.063 | 0.243 | 2.366 | |
| Path | Q5 | 0.299 | 2.332 | 0.039 | 0.803 |
| Q6 | 717.001 | 943.149 | 38.998 | 129.744 | |
| Q7 | 0.990 | 1.917 | 3.744 | 42.317 | |
| Q8 | 2.704 | 1.810 | 4.086 | 32.051 | |
| Q9 | 20.956 | 364.169 | 4.249 | 102.343 | |
| Q10 | FAILED | 351.671 | 4.743 | 6.165 | |
| Pattern | Q11 | DISK SPILL LIMIT | POOL LIMIT | POOL LIMIT | FAILED |
| Q12 | DISK SPILL LIMIT | POOL LIMIT | 232.998 | POOL LIMIT | |
| Q13 | 10.571 | 23.290 | 6.294 | POOL LIMIT | |
| Q14 | DISK SPILL LIMIT | POOL LIMIT | POOL LIMIT | POOL LIMIT | |
| Q15 | POOL LIMIT | TIMEOUT | POOL LIMIT | FAILED | |
| Q16 | 1.108 | 10.772 | 11.131 | 15.374 | |
| Aggregation | Q17 | 2.344 | 15.311 | 0.683 | 3.507 |
| Q18 | 2.165 | 45.356 | 6.510 | 7.008 | |
| Q19 | 0.527 | 9.556 | 0.388 | 2.389 | |
| Q20 | 0.403 | 11.922 | 0.968 | 1.251 | |
| Q21 | 0.411 | 3.178 | 1.007 | 1.551 | |
| Q22 | 24.555 | 1019.903 | POOL LIMIT | 55.681 | |
| Q23 | 118.974 | 4730.709 | POOL LIMIT | 172.819 | |
| Q24 | 0.398 | 1.911 | 1.715 | 1.002 | |
| Q25 | 1.450 | 1.958 | 3.470 | 292.629 | |
| Analytics | Q26 | 16.981 | 6.440 | 1.544 | 4.971 |
| Q27 | 46.708 | 21.762 | 24.533 | 100.767 | |
| Q28 | 48.632 | 2.016 | 8.505 | 45.737 | |
| Q29 | SKIPPED | SKIPPED | SKIPPED | SKIPPED | |
| Q30 | 302.961 | 28.572 | 19.009 | 9.370 | |
| Hybrid | Q31 | 12.730 | 43.843 | 0.831 | 13.205 |
| Others | Q32 | 1.230 | 40.822 | 1.194 | 39.256 |
| Q33 | 2.669 | 8.148 | 17.289 | 12.270 |
Memory Results
* The unit of all memory results shown below is megabytes (MB)
* TigerGraph: the sum over the GPEs of each GPE’s peak vertex-accumulator memory for the whole query, from the query profile; not process memory.
* MEMORY_LIMIT means the query exceeded the 28 GiB memory limit; TIMEOUT means the query ran for more than two hours without finishing; SKIPPED means the database platform does not support certain features required by the query; POOL LIMIT means the intermediate results generated by the query exceeded the engine-configured memory pool limit; DISK SPILL LIMIT means the engine ran out of disk space while spilling intermediate results; FAILED means the system reported another error.
| Workload | Query ID | PuppyGraph | Neo4j | TigerGraph | GraphFrames |
|---|---|---|---|---|---|
| Neighborhood | Q1 | 179.761 | 0.036 | 0.000 | 138.413 |
| Q2 | 203.272 | 0.004 | 0.000 | 306.447 | |
| Q3 | 581.011 | 28.081 | 0.000 | 209.994 | |
| Q4 | 87.839 | 0.039 | 0.000 | 150.996 | |
| Path | Q5 | 22.944 | 0.000 | 0.000 | 67.174 |
| Q6 | 1743.000 | 1715.669 | 0.000 | 939.524 | |
| Q7 | 205.977 | 0.003 | 60.000 | 167.772 | |
| Q8 | 215.960 | 0.235 | 114.000 | 167.772 | |
| Q9 | 217.849 | 47.497 | 114.000 | 153.092 | |
| Q10 | FAILED | 9.497 | 114.000 | 285.361 | |
| Pattern | Q11 | DISK SPILL LIMIT | POOL LIMIT | POOL LIMIT | FAILED |
| Q12 | DISK SPILL LIMIT | POOL LIMIT | 270.000 | POOL LIMIT | |
| Q13 | 7410.000 | 33.005 | 26.000 | POOL LIMIT | |
| Q14 | DISK SPILL LIMIT | POOL LIMIT | POOL LIMIT | POOL LIMIT | |
| Q15 | POOL LIMIT | TIMEOUT | POOL LIMIT | FAILED | |
| Q16 | 360.980 | 0.067 | 177.000 | 306.185 | |
| Aggregation | Q17 | 208.443 | 0.026 | 0.000 | 201.982 |
| Q18 | 942.500 | 300.919 | 140.000 | 391.119 | |
| Q19 | 187.447 | 6.347 | 0.000 | 235.143 | |
| Q20 | 246.091 | 0.002 | 0.000 | 67.371 | |
| Q21 | 129.433 | 23.996 | 0.000 | 69.206 | |
| Q22 | 911.936 | 12.019 | POOL LIMIT | 306.446 | |
| Q23 | 916.573 | 31.968 | POOL LIMIT | 461.898 | |
| Q24 | 45.642 | 0.000 | 0.000 | 276.826 | |
| Q25 | 573.671 | 0.001 | 32.000 | 449.054 | |
| Analytics | Q26 | 421.173 | 16.437 | 40.000 | 204.472 |
| Q27 | 36.157 | 16.437 | 58.000 | 234.947 | |
| Q28 | 7.595 | 0.511 | 78.000 | 318.833 | |
| Q29 | SKIPPED | SKIPPED | SKIPPED | SKIPPED | |
| Q30 | 8.347 | 0.512 | 294.000 | 0.000 | |
| Hybrid | Q31 | 4998.000 | 1320.871 | 20.000 | 322.961 |
| Others | Q32 | 383.707 | 58.620 | 32.000 | 251.658 |
| Q33 | 1023.280 | 195.427 | 34.000 | 167.772 |