Knowledge

Array DBMS

Source 📝

616: 55: 169:, together with a scalable architecture. Another array database language, constrained to 2-D, has been presented by Marathe and Salem. Seminal theoretical work has been accomplished by Libkin et al.; in their model, called NCRA, they extend a nested relational calculus with multidimensional arrays; among the results are important contributions on array query complexity analysis. A map algebra, suitable for 2-D and 3-D spatial raster data, has been published by Mennis et al. 1568: 1578: 1588: 624:
value of an array resulting from the cell-wise addition of two input images is equivalent to adding the maximum values of each input array". By replacing the left-hand variant by the right-hand expression, costs shrink from three (costly) array traversals to two array traversals plus one (cheap) scalar operation (see Figure, which uses the SQL/MDA query standard).
368:
iteration sequence over the array cells during evaluation. Evaluation safety is achieved when every query terminates after a finite number of (finite-time) steps; again, avoiding general loops and recursion is a way of achieving this. At the same time, avoiding explicit loop sequences opens up manifold optimization opportunities.
623:
Due to the massive sizes of arrays in scientific/technical applications in combination with often complex queries, optimization plays a central role in making array queries efficient. Both hardware and software parallelization can be applied. An example for heuristic optimization is the rule "maximum
212:
data cubes are well established; they store cell values together with their location – an adequate compression technique in face of the few locations carrying valid information at all – and operate with SQL on them. As this technique does not scale in density, standard
367:
and safe in evaluation. As iteration over an array is at the heart of array processing, declarativeness very much centers on this aspect. The requirement, then, is that conceptually all cells should be inspected simultaneously – in other words, the query does not enforce any explicit
580:
Array storage has to accommodate arrays of different dimensions and typically large sizes. A core task is to maintain spatial proximity on disk so as to reduce the number of disk accesses during subsetting. Note that an emulation of multi-dimensional arrays as nested lists (or 1-D arrays) will not
71:
do on sets, Array DBMSs offer scalable, flexible storage and flexible retrieval/manipulation on arrays of (conceptually) unlimited size. As in practice arrays never appear standalone, such an array model normally is embedded into some overall data model, such as the relational model. Some systems
240:
When adding arrays to databases, all facets of database design need to be reconsidered – ranging from conceptual modeling (such as suitable operators) over storage management (such as management of arrays spanning multiple media) to query processing (such as efficient processing
632:
In many – if not most – cases where some phenomenon is sampled or simulated the result is a rasterized data set which can conveniently be stored, retrieved, and forwarded as an array. Typically, the array data are ornamented with metadata describing them further; for example,
213:
databases are not used today for dense data, like satellite images, where most cells carry meaningful information; rather, proprietary ad hoc implementations prevail in scientific data management and similar situations. Hence, this is where Array DBMSs can make a particular contribution.
474:, the query language offers all operations the cell type offers on array level, too. Hence, on numeric values all the usual unary and binary arithmetic, exponential, and trigonometric operations are available in a straightforward manner, plus the standard set of Boolean operators. 51:, with single objects frequently ranging into Terabyte and soon Petabyte sizes; for example, today's earth and space observation archives typically grow by Terabytes a day. Array databases aim at offering flexible, scalable storage and retrieval on this information category. 571:
Such languages allow formulating statistical and imaging operations which can be expressed analytically without using loops. It has been proven that the expressive power of such array languages in principle is equivalent to relational query languages with ranking.
130:
in business). The variety occurring can be observed, e.g., in geo data where 1-D environmental sensor time series, 2-D satellite images, 3-D x/y/t image time series and x/y/z geophysics data, as well as 4-D x/y/z/t climate and ocean data can be found.
595:
Compression of tiles can sometimes reduce substantially the amount of storage needed. Also for transmission of results compression is useful, as for the large amounts of data under consideration networks bandwidth often constitutes a limiting factor.
80: – while array objects easily can span several media. The prime task of the array storage manager is to give fast access to large arrays and sub-arrays. To this end, arrays get partitioned, during insertion, into so-called 75:
Management of arrays requires novel techniques, particularly due to the fact that traditional database tuples and objects tend to fit well into a single database page – a unit of disk access on server, typically
692:, a data transport architecture and protocol. While this is not a database specification, it offers important components that characterize a database system, such as a conceptual model and client/server implementations. 184:
is an open-source GIS software that extends object-relational DBMS technology to handle spatio-temporal data types; while main focus is on vector data, there is also some support for rasters. Starting with version 2.0,
706:
In June 2014, ISO/IEC JTC1 SC32 WG3, which maintains the SQL database standard, has decided to add multi-dimensional array support to SQL as a new column type, based on the initial array support available since the
380:
algebra and query language can serve, which establish an expression language over a minimal set of array primitives. We begin with the generic core operators and then present common special cases and shorthands.
161:
First significant work in going beyond BLOBs has been established with PICDMS. This system offers the precursor of a 2-D array query language, albeit still procedural and without suitable storage support.
444:
indicates that the current boundary of the array is to be used; note that arrays where dimension boundaries are left open at definition time may change size in that dimensions over the array's lifetime.
158:("binary large objects") which are the equivalent to files: byte strings of (conceptually) unlimited length, but again without any query language functionality, such as multi-dimensional subsetting. 103:, expressions of arbitrary complexity can be built on top of a set of core array operations. Due to the extensions made in the data and query model, Array DBMSs sometimes are subsumed under the 584:
Commonly arrays are partitioned into sub-arrays which form the unit of access. Regular partitioning where all partitions have the same size (except possibly for boundaries) is referred to as
592:. Array partitioning can improve access to array subsets significantly: by adjusting tiling to the access pattern, the server ideally can fetch all required data with only one disk access. 232:, and scalability issues in general. Besides, scientific communities still appear reluctant in taking up array database technology and tend to favor specialized, proprietary technology. 819:
Libkin, L., Machlin, R., Wong, L.: A query language for multidimensional arrays: design, implementation and optimization techniques. Proc. ACM SIGMOD'96, Montreal, Canada, pp. 228–239
612:). A large class of practically relevant queries can be evaluated by loading tile after tile, thereby allowing servers to process arrays orders of magnitude beyond their main memory. 201:
is a more recent initiative to establish array database support. Like SciQL, arrays are seen as an equivalent to tables, rather than a new attribute type as in rasdaman and PostGIS.
47:, etc.), sitting on a regular grid of one, two, or more dimensions. Often arrays are used to represent sensor, simulation, image, or statistics data. Such arrays tend to be 660:
These are but examples; generally, arrays frequently represent sensor, simulation, image, and statistics data. More and more spatial and time dimensions are combined with
527:
In the same manner and in analogy to SQL aggregates, a number of further shorthands are provided, including counting, average, minimum, maximum, and Boolean quantifiers.
775:
Chock, M., Cardenas, A., Klinger, A.: Database structure and manipulation capabilities of a picture database management system (PICDMS). IEEE ToPAMI, 6(4):484–492, 1984
828:
Mennis, J., Viger, R., Tomlin, C.D.: Cubic Map Algebra Functions for Spatio-Temporal Analysis. Cartography and Geographic Information Science 32(1)2005, pp. 17–32
426:
This subsetting keeps the dimension of the array; to reduce dimension by extracting slices, a single slicepoint value is indicated in the slicing dimension.
1178: 497:
specifies the domain to be iterated over and binds an iteration variable to it – again, without specifying iteration sequence. Likewise,
122:
Important application domains of Array DBMSs include Earth, Space, Life, and Social sciences, as well as the related commercial applications (such as
1161: 1173: 837:
Ritter, G. and Wilson, J. and Davidson, J.: Image Algebra: An Overview. Computer Vision, Graphics, and Image Processing, 49(1)1994, 297-336
228:, there are still many open research questions, including query language design and formalization, query optimization, parallelization and 846:
Machlin, R.: Index-Based Multidimensional Array Queries: Safety and Equivalence. Proc. ACM PODS'07, Beijing, China, June 2007, pp. 175–184
119:; actually, many array operators lend themselves well towards parallel evaluation, by processing each tile on separate nodes or cores. 1002: 916: 633:
geographically referenced imagery will carry its geographic position and the coordinate reference system in which it is expressed.
150:
lists an array-valued attribute type, but this is only one-dimensional, with almost no operational support, and not usable for the
144: 969: 165:
A first declarative query language suitable for multiple dimensions and with an algebra-based semantics has been published by
1612: 1571: 986: 1244: 1133: 481:
operator aggregates cell values into one scalar result, similar to SQL aggregates. Its application has the general form:
588:. A generalization which removes the restriction to equally sized partitions by supporting any kind of partitioning is 166: 647:
Space sciences: Planetary sciences, astrophysics (optical and radio telescope observations, cosmological simulations)
885: 1591: 1297: 810:
Marathe, A., Salem, K.: A language for manipulating arrays. Proc. VLDB'97, Athens, Greece, August 1997, pp. 46–55
696: 143:, which is prevailing today, does not directly support the array paradigm to the same extent as sets and tuples. 785: 1548: 1195: 1053: 798: 872: 1487: 964: 909: 664:
axes, such as sales and products; one example where such abstract axes are explicitly foreseen is the (OGC)
505:
clause specifies the aggregating operation used to combine the cell value expressions into one single value.
400:
defines the result domain and binds an iteration variable to it, without specifying iteration sequence. The
1482: 1513: 1232: 944: 862:: Efficient Organization of Large Multidimensional Arrays. Proc. ICDE'94, Houston, USA, 1994, pp. 328-336 189:
embeds raster support for 2-D rasters; a special function offers declarative raster query functionality.
636:
The following are representative domains in which large-scale multi-dimensional array data are handled:
1436: 1426: 1202: 1048: 700: 92: 68: 28: 1523: 1256: 619:
Transformation of a query to a more efficient, but equivalent version during array query optimization
615: 448:
The above examples have simply copied the original values; instead, these values may be manipulated.
216:
Generally, Array DBMSs are an emerging technology. While operationally deployed systems exist, like
1617: 902: 756: 685: 677: 432:"A slice through an x/y/t timeseries at position t=100, retrieving all available data in x and y." 1472: 1126: 1095: 364: 99:
access to such arrays, allowing to create, manipulate, search, and delete them. Like with, e.g.,
96: 72:
implement arrays as an analogy to tables, some introduce arrays as an additional attribute type.
1553: 1508: 1185: 1090: 229: 198: 1528: 1282: 356:
include {0..255} for 8-bit greyscale images and {0..255} × {0..255} × {0..255} for standard
1581: 1518: 1400: 1370: 1239: 1190: 1043: 949: 581:
per se accomplish this and, therefore, in general will not lead to scalable architectures.
32: 176:
system has the longest implementation track record of n-D arrays with full query support.
8: 1538: 1431: 1416: 1343: 1168: 1012: 859: 155: 140: 1533: 1477: 1446: 1395: 1287: 1227: 1119: 1058: 1038: 939: 112: 108: 54: 1353: 1207: 1063: 1543: 1390: 1380: 1348: 1073: 959: 568:, which subsequently is put into the proper array cell of the 1-D histogram array. 388:
operator creates an array over some given domain extent and initializes its cells:
1451: 1421: 1375: 1156: 981: 855: 349: 123: 36: 485:
condense condense-op over index-range-specification using cell-value-expression
1503: 1441: 1385: 1358: 1251: 1212: 976: 925: 788:. VLDB Journal 4(3)1994, Special Issue on Spatial Database Systems, pp. 401–444 641: 604:
A tile-based storage structure suggests a tile-by-tile processing strategy (in
217: 177: 1111: 644:, geology, oceanography, hydrology, atmospheric sciences, cryospheric sciences 88:
of convenient size which then act as units of access during query evaluation.
1606: 1322: 1307: 1078: 954: 665: 205: 1085: 1022: 363:
Following established database practice, an array query language should be
292:, is some (non-empty) value set; in set notation, this can be rewritten as 180:
offers chunked storage of 2-D raster maps, albeit without SQL integration.
1312: 1292: 1100: 1017: 116: 1456: 1365: 1327: 1302: 1068: 729: 410:"A cutout of array A given by the corner points (10,20) and (40,50)." 724: 1317: 1272: 1142: 739: 708: 605: 377: 225: 181: 173: 77: 48: 894: 875:. Proc. ICDE'99, March 23–26, 1999, Sydney, Australia, pp. 328–336 734: 689: 676:
Many communities have established data exchange formats, such as
221: 194: 186: 39:), that is: homogeneous collections of data items (often called 1222: 886:
SQL fights back against NoSQL's big data cred with SQL/MDA spec
681: 392:
marray index-range-specification values cell-value-expression
16:
System that provides database services specifically for arrays
1217: 744: 190: 104: 44: 40: 873:
Storage of Multidimensional Arrays based on Arbitrary Tiling
799:
A Database Array Algebra for Spatio-Temporal Data and Beyond
1277: 209: 127: 688:. A de facto standard in the Earth Science communities is 418:
This special case, pure subsetting, can be abbreviated as
357: 147: 100: 650:
Life sciences: gene data, confocal microscopy, CAT scans
560:. The aggregation operator counts the occurrences of 801:. Proc. NGITS'99, LNCS 1649, Springer 1999, pp.76-93 713:
ISO 9075 SQL Part 15: MDA (Multi-Dimensional Arrays)
556:, establishes a Boolean array of the same extent as 454:"Array A, with a log() applied to each cell value." 786:
On the Management of Multidimensional Discrete Data
711:. The new standard, adopted in Fall 2018, is named 548:marray bucket in values count_cells( A = bucket ) 1604: 107:category, in the sense of "not only SQL". Query 1141: 154:of Array DBMSs. Another option is to resort to 193:is an array query language being added to the 1127: 910: 530:The next example demonstrates combination of 404:is evaluated at each location of the domain. 544:"A histogram over 8-bit greyscale image A." 376:As an example for array query operators the 172:In terms of Array DBMS implementations, the 58:Euclidean neighborhood of elements in arrays 1134: 1120: 917: 903: 501:is evaluated at each domain location. The 253:is given by a (total or partial) function 695:A declarative geo raster query language, 336:, and following common notation we write 614: 151: 53: 653:Social sciences: statistical data cubes 277:-dimensional integer interval for some 1605: 718: 627: 458:marray p in domain(A) values log( A ) 244: 1115: 898: 699:(WCPS), has been standardized by the 515:condense + over p in sdom(A) using A 134: 1587: 924: 640:Earth sciences: geodesy / mapping, 599: 538:operators by deriving a histogram. 519:A shorthand for this operation is: 13: 671: 348:include {0..767} × {0..1023} (for 14: 1629: 371: 1586: 1576: 1567: 1566: 656:Business: OLAP, data warehousing 575: 511:"The sum over all values in A." 21:array database management system 1577: 878: 865: 697:Web Coverage Processing Service 849: 840: 831: 822: 813: 804: 791: 778: 769: 67:In the same style as standard 1: 762: 462:This can be abbreviated as: 352:sized images), examples for 332:denotes an array element or 115:are important for achieving 7: 1613:Database management systems 1143:Database management systems 888:, The Register, 26 Jun 2014 750: 470:Through a principle called 235: 62: 10: 1634: 1549:Object–relational database 871:Furtado, P., Baumann, P.: 701:Open Geospatial Consortium 31:services specifically for 1562: 1524:Federated database system 1496: 1465: 1409: 1336: 1265: 1257:Blockchain-based database 1149: 1031: 995: 932: 495:index-range-specification 398:index-range-specification 757:Data Intensive Computing 552:The induced comparison, 546: 521: 513: 483: 464: 456: 434: 420: 412: 390: 204:For the special case of 1096:Ordered Key-Value Store 124:hydrocarbon exploration 1554:Transaction processing 1509:Database normalization 1452:Query rewriting system 987:Entity–attribute–value 620: 440:The wildcard operator 414:marray p in values A 230:distributed processing 59: 1529:Referential integrity 618: 499:cell-value-expression 402:cell-value-expression 141:relational data model 57: 1519:Distributed database 1539:Relational calculus 1417:Concurrency control 965:Entity–relationship 719:List of array DBMSs 709:2003 version of SQL 628:Application domains 249:Formally, an array 245:Conceptual modeling 152:application domains 1534:Relational algebra 1478:Query optimization 1283:Armstrong's axioms 621: 564:for each value of 472:induced operations 135:History and status 91:Array DBMSs offer 60: 1600: 1599: 1208:Wide-column store 1203:Document-oriented 1109: 1108: 1054:Object–relational 1049:Document-oriented 1003:Multi-dimensional 1625: 1590: 1589: 1580: 1579: 1570: 1569: 1544:Relational model 1514:Database storage 1391:Stored procedure 1136: 1129: 1122: 1113: 1112: 1074:Transaction time 919: 912: 905: 896: 895: 889: 882: 876: 869: 863: 853: 847: 844: 838: 835: 829: 826: 820: 817: 811: 808: 802: 795: 789: 782: 776: 773: 725:Oracle GeoRaster 600:Query processing 319: 283: 218:Oracle GeoRaster 178:Oracle GeoRaster 126:in industry and 69:database systems 1633: 1632: 1628: 1627: 1626: 1624: 1623: 1622: 1618:Database models 1603: 1602: 1601: 1596: 1558: 1504:Database models 1492: 1461: 1447:Query optimizer 1422:Data dictionary 1405: 1376:Transaction log 1332: 1288:Codd's 12 rules 1261: 1191:Column-oriented 1157:Object-oriented 1145: 1140: 1110: 1105: 1091:Key–value store 1044:Column-oriented 1032:Implementations 1027: 991: 982:Object-oriented 928: 926:Database models 923: 893: 892: 883: 879: 870: 866: 860:Stonebraker, M. 854: 850: 845: 841: 836: 832: 827: 823: 818: 814: 809: 805: 796: 792: 783: 779: 774: 770: 765: 753: 721: 674: 672:Standardization 630: 602: 578: 550: 549: 525: 524: 523:add_cells( A ) 517: 516: 487: 486: 468: 467: 460: 459: 438: 437: 424: 423: 416: 415: 394: 393: 374: 344:. Examples for 293: 278: 247: 238: 137: 113:parallelization 93:query languages 65: 17: 12: 11: 5: 1631: 1621: 1620: 1615: 1598: 1597: 1595: 1594: 1584: 1574: 1563: 1560: 1559: 1557: 1556: 1551: 1546: 1541: 1536: 1531: 1526: 1521: 1516: 1511: 1506: 1500: 1498: 1497:Related topics 1494: 1493: 1491: 1490: 1485: 1480: 1475: 1473:Administration 1469: 1467: 1463: 1462: 1460: 1459: 1454: 1449: 1444: 1442:Query language 1439: 1434: 1429: 1424: 1419: 1413: 1411: 1407: 1406: 1404: 1403: 1398: 1393: 1388: 1383: 1378: 1373: 1368: 1363: 1362: 1361: 1356: 1351: 1340: 1338: 1334: 1333: 1331: 1330: 1325: 1320: 1315: 1310: 1305: 1300: 1295: 1290: 1285: 1280: 1275: 1269: 1267: 1263: 1262: 1260: 1259: 1254: 1249: 1248: 1247: 1237: 1236: 1235: 1225: 1220: 1215: 1210: 1205: 1200: 1199: 1198: 1188: 1183: 1182: 1181: 1176: 1166: 1165: 1164: 1153: 1151: 1147: 1146: 1139: 1138: 1131: 1124: 1116: 1107: 1106: 1104: 1103: 1098: 1093: 1088: 1086:XML data store 1083: 1082: 1081: 1076: 1071: 1061: 1056: 1051: 1046: 1041: 1035: 1033: 1029: 1028: 1026: 1025: 1020: 1015: 1010: 1005: 999: 997: 993: 992: 990: 989: 984: 979: 974: 973: 972: 962: 957: 952: 947: 942: 936: 934: 930: 929: 922: 921: 914: 907: 899: 891: 890: 884:Chirgwin, R.: 877: 864: 848: 839: 830: 821: 812: 803: 790: 777: 767: 766: 764: 761: 760: 759: 752: 749: 748: 747: 742: 737: 732: 727: 720: 717: 673: 670: 666:coverage model 658: 657: 654: 651: 648: 645: 642:remote sensing 629: 626: 610:tile streaming 601: 598: 577: 574: 547: 522: 514: 484: 465: 457: 435: 421: 413: 391: 373: 372:Array querying 370: 246: 243: 237: 234: 136: 133: 64: 61: 15: 9: 6: 4: 3: 2: 1630: 1619: 1616: 1614: 1611: 1610: 1608: 1593: 1585: 1583: 1575: 1573: 1565: 1564: 1561: 1555: 1552: 1550: 1547: 1545: 1542: 1540: 1537: 1535: 1532: 1530: 1527: 1525: 1522: 1520: 1517: 1515: 1512: 1510: 1507: 1505: 1502: 1501: 1499: 1495: 1489: 1486: 1484: 1481: 1479: 1476: 1474: 1471: 1470: 1468: 1464: 1458: 1455: 1453: 1450: 1448: 1445: 1443: 1440: 1438: 1435: 1433: 1430: 1428: 1425: 1423: 1420: 1418: 1415: 1414: 1412: 1408: 1402: 1399: 1397: 1394: 1392: 1389: 1387: 1384: 1382: 1379: 1377: 1374: 1372: 1369: 1367: 1364: 1360: 1357: 1355: 1352: 1350: 1347: 1346: 1345: 1342: 1341: 1339: 1335: 1329: 1326: 1324: 1323:Surrogate key 1321: 1319: 1316: 1314: 1311: 1309: 1308:Candidate key 1306: 1304: 1301: 1299: 1296: 1294: 1291: 1289: 1286: 1284: 1281: 1279: 1276: 1274: 1271: 1270: 1268: 1264: 1258: 1255: 1253: 1250: 1246: 1243: 1242: 1241: 1238: 1234: 1231: 1230: 1229: 1226: 1224: 1221: 1219: 1216: 1214: 1211: 1209: 1206: 1204: 1201: 1197: 1194: 1193: 1192: 1189: 1187: 1184: 1180: 1177: 1175: 1172: 1171: 1170: 1167: 1163: 1160: 1159: 1158: 1155: 1154: 1152: 1148: 1144: 1137: 1132: 1130: 1125: 1123: 1118: 1117: 1114: 1102: 1099: 1097: 1094: 1092: 1089: 1087: 1084: 1080: 1079:Decision time 1077: 1075: 1072: 1070: 1067: 1066: 1065: 1062: 1060: 1057: 1055: 1052: 1050: 1047: 1045: 1042: 1040: 1037: 1036: 1034: 1030: 1024: 1021: 1019: 1016: 1014: 1011: 1009: 1006: 1004: 1001: 1000: 998: 994: 988: 985: 983: 980: 978: 975: 971: 968: 967: 966: 963: 961: 958: 956: 953: 951: 948: 946: 943: 941: 938: 937: 935: 933:Common models 931: 927: 920: 915: 913: 908: 906: 901: 900: 897: 887: 881: 874: 868: 861: 857: 852: 843: 834: 825: 816: 807: 800: 797:Baumann, P.: 794: 787: 784:Baumann, P.: 781: 772: 768: 758: 755: 754: 746: 743: 741: 738: 736: 733: 731: 730:MonetDB/SciQL 728: 726: 723: 722: 716: 714: 710: 704: 702: 698: 693: 691: 687: 683: 679: 669: 667: 663: 655: 652: 649: 646: 643: 639: 638: 637: 634: 625: 617: 613: 611: 607: 597: 593: 591: 587: 582: 576:Array storage 573: 569: 567: 563: 559: 555: 545: 543: 539: 537: 533: 528: 520: 512: 510: 506: 504: 500: 496: 492: 482: 480: 475: 473: 463: 455: 453: 449: 446: 443: 433: 431: 427: 419: 411: 409: 405: 403: 399: 389: 387: 382: 379: 369: 366: 361: 359: 355: 351: 347: 343: 339: 335: 331: 327: 323: 317: 313: 309: 305: 301: 297: 291: 287: 281: 276: 272: 268: 264: 260: 256: 252: 242: 241:strategies). 233: 231: 227: 223: 219: 214: 211: 207: 202: 200: 196: 192: 188: 183: 179: 175: 170: 168: 163: 159: 157: 153: 149: 146: 142: 132: 129: 125: 120: 118: 114: 110: 106: 102: 98: 94: 89: 87: 83: 79: 73: 70: 56: 52: 50: 46: 42: 38: 35:(also called 34: 30: 26: 22: 1023:XML database 1007: 996:Other models 945:Hierarchical 880: 867: 856:Sarawagi, S. 851: 842: 833: 824: 815: 806: 793: 780: 771: 712: 705: 694: 675: 661: 659: 635: 631: 622: 609: 603: 594: 589: 585: 583: 579: 570: 565: 561: 557: 553: 551: 541: 540: 535: 531: 529: 526: 518: 508: 507: 502: 498: 494: 493:before, the 490: 488: 478: 476: 471: 469: 461: 451: 450: 447: 441: 439: 429: 428: 425: 417: 407: 406: 401: 397: 395: 385: 383: 375: 362: 353: 345: 341: 337: 333: 329: 325: 321: 315: 311: 307: 303: 299: 295: 289: 285: 279: 274: 270: 266: 262: 258: 254: 250: 248: 239: 215: 203: 171: 164: 160: 138: 121: 109:optimization 90: 85: 81: 74: 66: 24: 20: 18: 1592:WikiProject 1483:Replication 1371:Transaction 1313:Foreign key 1293:CAP theorem 1240:Multi-model 1101:Triplestore 1018:Star schema 950:Dimensional 503:condense-op 365:declarative 222:PostGIS 2.0 206:sparse data 117:scalability 97:declarative 37:raster data 1607:Categories 1457:Query plan 1410:Components 1328:Unique key 1245:comparison 1179:comparison 1169:Relational 1162:comparison 1069:Valid time 960:Relational 763:References 25:array DBMS 1466:Functions 1401:Partition 1228:In-memory 1186:Key–value 1059:Deductive 1039:Flat file 466:log( A ) 360:imagery. 288:, called 27:provides 1572:Category 1488:Sharding 1344:Relation 1318:Superkey 1273:Database 1266:Concepts 1064:Temporal 1013:Semantic 970:Enhanced 751:See also 740:rasdaman 662:abstract 606:rasdaman 586:chunking 554:A=bucket 542:Example: 536:condense 509:Example: 489:As with 479:condense 452:Example: 430:Example: 408:Example: 378:rasdaman 320:. Each ( 236:Concepts 226:rasdaman 182:TerraLib 174:rasdaman 63:Overview 49:Big Data 29:database 1582:Outline 1381:Trigger 1337:Objects 955:Network 735:PostGIS 703:(OGC). 690:OPeNDAP 608:called 195:MonetDB 187:PostGIS 167:Baumann 95:giving 76:4  1396:Cursor 1354:column 1223:NewSQL 684:, and 682:NetCDF 590:tiling 566:bucket 532:marray 491:marray 396:where 386:marray 282:> 0 271:domain 269:, the 265:where 197:DBMS. 86:chunks 45:voxels 41:pixels 33:arrays 1386:Index 1349:table 1252:Cloud 1218:NoSQL 1213:Graph 1150:Types 1008:Array 977:Graph 745:SciDB 328:) in 290:range 273:is a 199:SciDB 191:SciQL 156:BLOBs 105:NoSQL 82:tiles 1437:ODBC 1427:JDBC 1366:View 1303:Null 1298:CRUD 1278:ACID 1233:list 1196:list 1174:list 940:Flat 686:TIFF 562:true 534:and 477:The 384:The 334:cell 302:) | 284:and 224:and 210:OLAP 139:The 128:OLAP 111:and 1432:XQJ 1359:row 678:HDF 358:RGB 350:XGA 294:{ ( 148:SQL 145:ISO 101:SQL 84:or 23:or 19:An 1609:: 858:, 715:. 680:, 668:. 436:A 422:A 340:= 314:∈ 310:, 306:∈ 261:→ 257:: 220:, 208:, 78:KB 43:, 1135:e 1128:t 1121:v 918:e 911:t 904:v 558:A 442:* 354:V 346:X 342:v 338:A 330:A 326:v 324:, 322:p 318:} 316:V 312:v 308:X 304:p 300:v 298:, 296:p 286:V 280:d 275:d 267:X 263:V 259:X 255:A 251:A

Index

database
arrays
raster data
pixels
voxels
Big Data
Euclidean neighborhood of elements in arrays
database systems
KB
query languages
declarative
SQL
NoSQL
optimization
parallelization
scalability
hydrocarbon exploration
OLAP
relational data model
ISO
SQL
application domains
BLOBs
Baumann
rasdaman
Oracle GeoRaster
TerraLib
PostGIS
SciQL
MonetDB

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