Knowledge

Cubes (OLAP server)

Source 📝

1045: 246:
Cubes is capable of handling large amounts of data and complex queries. According to a review by TechTarget, Cubes can handle "data volumes in the hundreds of millions of rows" and "complex queries and calculations that require multi-level aggregations and dynamic subsetting." Additionally, the
263:
and their measures and aggregates, dimensions and their attributes, hierarchies. Logical model also contains mapping from logical attributes to their physical location in a database (or other data source).
1205: 1210: 247:
review notes that Cubes is well-suited for smaller organizations or teams that don't require the complexity and scalability of enterprise-level OLAP solutions.
987:
metadata which helps to create generic reporting applications that don't have to know the database model structure and conceptual hierarchies up-in-front.
259:
and can be provided either in a form of a file, directory bundle or from an external model provider (for example a database). The basic model objects are:
1138: 239: 1050: 604:
http://localhost:5000/cube/contracts/aggregate?drilldown=date&drilldown=criteria&cut=date:2012,1-2012,6&order=date.month:desc
1195: 100: 223:
hierarchical dimensions (attributes that have hierarchical dependencies, such as category-subcategory or country-region)
77: 182:
Cubes provides to an analyst or any application end-user "understandable and natural way of reporting using concept of
172: 51: 1014:
query generator that translates the reporting queries into SQL statements. The query generator takes into account
1200: 972:
The simple HTTP/JSON interface makes it very easy to integrate OLAP reports in web applications written in pure
233: 229: 190: 991: 164: 600:. Example query to get "total amount of all contracts between January 2012 and June 2016 by month": 119: 1026:
and executes only joins that are necessary to retrieve attributes required by the data analyst.
1125: 197:. Cubes 1.0 was released in September 2014 and presented on the PyData Conference in New York 1023: 131: 107: 1089: 189:
Cubes was first publicly released in March 2011. The project was originally developed for
171:
toolkit for development reporting applications and browsing of aggregated data written in
112: 1189: 485:). The operations can be accessed either through Python interface or through a light 478: 1215: 1019: 176: 136: 1058: 1040: 1030: 977: 486: 19: 984: 482: 260: 213: 183: 1161: 1015: 194: 83: 1139:"Open source Cubes OLAP server suits business users under the gun" 1007: 973: 593: 589: 256: 217: 206: 168: 147: 124: 1178: 1011: 1003: 597: 1114: 1010:
functionality on top a relational database. Cubes contains a
1110: 1077: 255:
The logical conceptual model in Cubes is described using
1078:
Stefan Urbanek is the creator of Cubes and Data Brewery.
588:
The Cubes provides a non-traditional OLAP server with
983:
The Slicer server contains endpoints describing the
142: 130: 118: 106: 96: 76: 50: 28: 18: 1206:Python (programming language) scientific libraries 1090:"DataBrewery / cubes / blob / master / LICENSE" 477:Cubes provides basic set of operations such as 1126:Cubes 1.0 Overview at PyData NYC 2014 (video) 8: 209:and aggregated browsing (default is ROLAP) 15: 1033:Python toolkit to construct the queries. 1070: 990:The Slicer server is written using the 1211:Python (programming language) software 7: 1051:Free and open-source software portal 1115:Transparency International Slovakia 700:"economically best offer" 226:multiple hierarchies in a dimension 1006:backend of the framework provides 186:– multidimensional data objects". 14: 492:Example of the python interface: 220:or provided from external sources 1043: 769:"criteria.description" 694:"criteria.description" 1111:Public Procurements of Slovakia 829:"contract_amount_sum" 757:"contract_amount_sum" 682:"contract_amount_sum" 625:"contract_amount_sum" 167:multidimensional modelling and 1: 808:"total_cell_count" 173:Python programming language 1232: 781:"criteria.sdesc" 706:"criteria.sdesc" 57:1.1 / July 2, 2016 745:"criteria.code" 670:"criteria.code" 608:The response looks like: 72: 46: 787:"lowest price" 775:"lowest price" 610: 494: 269: 1143:SearchBusinessAnalytics 883:"level_depth" 793:"criteria.id" 718:"criteria.id" 1196:Data analysis software 820:"aggregates" 712:"best offer" 515:"slicer.ini" 443:"attributes" 404:"attributes" 332:"dimensions" 311:"dimensions" 232:for computing derived 230:arithmetic expressions 34:; 13 years ago 1029:The SQL backend uses 992:Flask (web framework) 871:"hierarchy" 859:"dimension" 733:"date.year" 658:"date.year" 637:"remainder" 305:"Our Sales" 59:; 8 years ago 949:"criteria" 398:"Category" 386:"category" 320:"measures" 877:"default" 616:"summary" 437:"Product" 425:"product" 362:"Product" 350:"product" 191:Public Procurements 175:released under the 32:March 27, 2011 940:"levels" 907:"hidden" 895:"invert" 676:"ekonaj" 483:slicing and dicing 368:"levels" 163:is a light-weight 20:Original author(s) 853:"range" 646:"cells" 539:"sales" 431:"label" 392:"label" 356:"label" 299:"label" 293:"sales" 275:"cubes" 242:metadata and data 212:logical model of 158: 157: 1223: 1201:Data warehousing 1182: 1181: 1179:Official website 1164: 1159: 1153: 1152: 1150: 1149: 1135: 1129: 1123: 1117: 1108: 1102: 1101: 1099: 1097: 1086: 1080: 1075: 1053: 1048: 1047: 1046: 1024:snowflake schema 968: 965: 962: 959: 958:"date" 956: 953: 950: 947: 944: 941: 938: 935: 932: 929: 926: 923: 920: 919:"from" 917: 914: 911: 908: 905: 902: 899: 896: 893: 890: 887: 884: 881: 878: 875: 872: 869: 866: 865:"date" 863: 860: 857: 854: 851: 848: 847:"type" 845: 842: 839: 836: 835:"cell" 833: 830: 827: 824: 821: 818: 815: 812: 809: 806: 803: 800: 797: 794: 791: 788: 785: 782: 779: 776: 773: 770: 767: 764: 761: 758: 755: 752: 751:"cena" 749: 746: 743: 740: 737: 734: 731: 728: 725: 722: 719: 716: 713: 710: 707: 704: 701: 698: 695: 692: 689: 686: 683: 680: 677: 674: 671: 668: 665: 662: 659: 656: 653: 650: 647: 644: 641: 638: 635: 632: 629: 626: 623: 620: 617: 614: 605: 579: 576: 573: 570: 567: 564: 561: 558: 555: 552: 549: 546: 543: 540: 537: 534: 531: 528: 525: 522: 519: 516: 513: 510: 507: 504: 501: 498: 468: 465: 462: 459: 456: 453: 450: 447: 444: 441: 438: 435: 432: 429: 426: 423: 420: 419:"name" 417: 414: 411: 408: 405: 402: 399: 396: 393: 390: 387: 384: 381: 380:"name" 378: 375: 372: 369: 366: 363: 360: 357: 354: 351: 348: 345: 344:"name" 342: 339: 336: 333: 330: 327: 324: 321: 318: 315: 312: 309: 306: 303: 300: 297: 294: 291: 288: 287:"name" 285: 282: 279: 276: 273: 154: 151: 149: 108:Operating system 92: 89: 87: 85: 67: 65: 60: 42: 40: 35: 16: 1231: 1230: 1226: 1225: 1224: 1222: 1221: 1220: 1186: 1185: 1177: 1176: 1173: 1168: 1167: 1160: 1156: 1147: 1145: 1137: 1136: 1132: 1124: 1120: 1109: 1105: 1095: 1093: 1088: 1087: 1083: 1076: 1072: 1067: 1049: 1044: 1042: 1039: 1000: 970: 969: 966: 963: 960: 957: 954: 951: 948: 945: 942: 939: 936: 933: 930: 927: 924: 921: 918: 915: 912: 909: 906: 903: 900: 897: 894: 891: 888: 885: 882: 879: 876: 873: 870: 867: 864: 861: 858: 855: 852: 849: 846: 843: 840: 837: 834: 831: 828: 825: 822: 819: 816: 813: 810: 807: 804: 801: 798: 795: 792: 789: 786: 783: 780: 777: 774: 771: 768: 765: 762: 759: 756: 753: 750: 747: 744: 741: 738: 735: 732: 729: 726: 723: 720: 717: 714: 711: 708: 705: 702: 699: 696: 693: 690: 687: 684: 681: 678: 675: 672: 669: 666: 663: 660: 657: 654: 651: 648: 645: 642: 639: 636: 633: 630: 627: 624: 621: 618: 615: 612: 603: 586: 581: 580: 577: 574: 571: 568: 565: 562: 559: 556: 553: 550: 547: 544: 541: 538: 535: 532: 529: 526: 523: 520: 517: 514: 511: 508: 505: 502: 499: 496: 489:called Slicer. 481:and filtering ( 475: 470: 469: 466: 463: 460: 457: 454: 451: 448: 445: 442: 439: 436: 433: 430: 427: 424: 421: 418: 415: 412: 409: 406: 403: 400: 397: 394: 391: 388: 385: 382: 379: 376: 373: 370: 367: 364: 361: 358: 355: 352: 349: 346: 343: 340: 337: 334: 331: 328: 325: 322: 319: 316: 313: 310: 307: 304: 301: 298: 295: 292: 289: 286: 283: 280: 277: 274: 271: 267:Example model: 253: 203: 146: 82: 68: 63: 61: 58: 38: 36: 33: 29:Initial release 12: 11: 5: 1229: 1227: 1219: 1218: 1213: 1208: 1203: 1198: 1188: 1187: 1184: 1183: 1172: 1171:External links 1169: 1166: 1165: 1154: 1130: 1118: 1103: 1081: 1069: 1068: 1066: 1063: 1062: 1061: 1055: 1054: 1038: 1035: 999: 996: 928:"to" 611: 585: 582: 495: 474: 471: 270: 252: 249: 244: 243: 237: 236:and aggregates 227: 224: 221: 210: 202: 199: 156: 155: 144: 140: 139: 134: 128: 127: 122: 116: 115: 113:Cross-platform 110: 104: 103: 98: 94: 93: 80: 74: 73: 70: 69: 56: 54: 52:Stable release 48: 47: 44: 43: 30: 26: 25: 24:Stefan Urbanek 22: 13: 10: 9: 6: 4: 3: 2: 1228: 1217: 1214: 1212: 1209: 1207: 1204: 1202: 1199: 1197: 1194: 1193: 1191: 1180: 1175: 1174: 1170: 1163: 1158: 1155: 1144: 1140: 1134: 1131: 1127: 1122: 1119: 1116: 1112: 1107: 1104: 1091: 1085: 1082: 1079: 1074: 1071: 1064: 1060: 1057: 1056: 1052: 1041: 1036: 1034: 1032: 1027: 1025: 1021: 1017: 1013: 1009: 1005: 1002:The built-in 998:ROLAP and SQL 997: 995: 993: 988: 986: 981: 979: 975: 609: 606: 601: 599: 595: 591: 583: 493: 490: 488: 484: 480: 479:Data drilling 472: 268: 265: 262: 258: 250: 248: 241: 238: 235: 231: 228: 225: 222: 219: 215: 211: 208: 205: 204: 200: 198: 196: 192: 187: 185: 180: 178: 174: 170: 166: 162: 153: 145: 141: 138: 135: 133: 129: 126: 123: 121: 117: 114: 111: 109: 105: 102: 99: 95: 91: 81: 79: 75: 71: 55: 53: 49: 45: 31: 27: 23: 21: 17: 1162:Cubes Viewer 1157: 1146:. Retrieved 1142: 1133: 1121: 1106: 1094:. Retrieved 1084: 1073: 1028: 1001: 989: 982: 971: 607: 602: 592:queries and 587: 491: 476: 266: 254: 245: 188: 181: 160: 159: 150:.databrewery 88:/DataBrewery 1096:21 February 240:localizable 177:MIT License 165:open source 137:MIT License 1190:Categories 1148:2023-03-28 1065:References 1059:SQLAlchemy 1031:SQLAlchemy 978:JavaScript 631:10000000.0 487:web server 473:Operations 214:OLAP cubes 184:data Cubes 97:Written in 78:Repository 64:2016-07-02 39:2011-03-27 596:response 557:aggregate 527:workspace 509:Workspace 503:workspace 1092:. Github 1037:See also 1016:topology 234:measures 201:Features 195:Slovakia 1018:of the 763:23456.0 688:12345.0 575:summary 551:browser 533:browser 521:browser 143:Website 132:License 62: ( 37: ( 584:Server 569:result 545:result 497:import 101:Python 90:/cubes 84:github 1008:ROLAP 913:false 901:false 563:print 500:cubes 261:cubes 251:Model 161:Cubes 148:cubes 1098:2015 1020:star 985:cube 976:and 974:HTML 739:2012 664:2012 594:JSON 590:HTTP 257:JSON 218:JSON 207:OLAP 169:OLAP 152:.org 125:OLAP 120:Type 86:.com 1216:SQL 1113:by 1022:or 1012:SQL 1004:SQL 805:... 643:{}, 598:API 461:... 216:in 193:of 1192:: 1141:. 994:. 980:. 937:], 832:], 802:}, 727:}, 634:}, 560:() 458:}, 413:}, 179:. 1151:. 1128:. 1100:. 967:} 964:} 961:: 955:, 952:: 946:{ 943:: 934:} 931:: 925:, 922:: 916:, 910:: 904:, 898:: 892:, 889:2 886:: 880:, 874:: 868:, 862:: 856:, 850:: 844:{ 841:[ 838:: 826:[ 823:: 817:, 814:6 811:: 799:4 796:: 790:, 784:: 778:, 772:: 766:, 760:: 754:, 748:: 742:, 736:: 730:{ 724:3 721:: 715:, 709:: 703:, 697:: 691:, 685:: 679:, 673:: 667:, 661:: 655:{ 652:[ 649:: 640:: 628:: 622:{ 619:: 613:{ 578:) 572:. 566:( 554:. 548:= 542:) 536:( 530:. 524:= 518:) 512:( 506:= 467:} 464:] 455:] 452:} 449:, 446:: 440:, 434:: 428:, 422:: 416:{ 410:, 407:: 401:, 395:: 389:, 383:: 377:{ 374:[ 371:: 365:, 359:: 353:, 347:: 341:{ 338:[ 335:: 329:] 326:} 323:: 317:, 314:: 308:, 302:: 296:, 290:: 284:{ 281:[ 278:: 272:{ 66:) 41:)

Index

Original author(s)
Stable release
Repository
github.com/DataBrewery/cubes
Python
Operating system
Cross-platform
Type
OLAP
License
MIT License
cubes.databrewery.org
open source
OLAP
Python programming language
MIT License
data Cubes
Public Procurements
Slovakia
OLAP
OLAP cubes
JSON
arithmetic expressions
measures
localizable
JSON
cubes
Data drilling
slicing and dicing
web server

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.