
Θα ήθελα να χρησιμοποιήσετε τη σοφία σας για να πάρει τη σωστή λύση για ένα πληροφοριακό σύστημα αποθήκης. Εδώ είναι μερικές λεπτομέρειες για να κατανοήσουμε καλύτερα το πρόβλημα:


Τα δεδομένα είναι οργανωμένη σε μια δομή σχήματος αστέρα με ένα μεγάλο γεγονός και ~ 15 διαστάσεις. 
   

Γραμμές 20Β γεγονός το μήνα
   

10 διαστάσεις με εκατοντάδες σειρές (κάπως ιεραρχία)
   

5 διαστάσεις με χιλιάδες γραμμές
   

2 διαστάσεις με ~ 200K γραμμές
   

2 μεγάλων διαστάσεων με γραμμές 50M-100M


Δύο χαρακτηριστικά ερωτήματα τρέχει εναντίον αυτής της DB 


**Top μέλη σε dimq:**



```
select    top X dimq, count(id) 
from      fact 
where     dim1 = x and dim2 = y and dim3 = z 
group by  dimq 
order by  count(id) desc

```

**Μέτρα κατά μια πλειάδα:**



```
select    count(distinct dis1), count (distinct dis2), count(dim1), count(dim2),...
from      fact 
where     dim1 = x and dim2 = y and dim3 = z 

```

**ερωτήσεις:**


1. Ποια είναι η καλύτερη πλατφόρμα για την εκτέλεση τέτοιων ερωτημάτων
2. Τι είδους του υλικού που απαιτείται
3. Πού μπορεί να φιλοξενηθεί (EC2;)


  

(Αγνοήστε την εισαγωγή και φόρτωση θεμάτων αυτή τη στιγμή)


Tnx,
   

Αγγαίος.  


 
20 δισ Σειρές / Μήνας - Hbase / Hive / Greenplum / Τι;
======================================================



Δεν μπορώ να το τονίσω αυτό αρκετά: *Πάρτε κάτι που παίζει ωραία με τα εργαλεία αναφοράς off-the-shelf.*


20 δισεκατομμύρια γραμμές ανά μήνα σας βάζει στο έδαφος VLDB, έτσι πρέπει στεγανοποίηση. Οι χαμηλές διαστάσεις πληθικότητας Θα πρότεινα επίσης ότι ευρετήρια bitmap θα ήταν μια νίκη απόδοση.


* Ξεχάστε τα συστήματα σύννεφο ( [Hive](http://hadoop.apache.org/hive/) ,
 [Hbase](http://hadoop.apache.org/hbase/) ) μέχρι να έχουν ώριμα υποστήριξη SQL. Για την εφαρμογή αποθήκη δεδομένων θέλετε κάτι που να λειτουργεί με τα συμβατικά εργαλεία αναφοράς. Διαφορετικά, θα βρείτε τον εαυτό σας συνεχώς τέλμα γραφή και τη διατήρηση της ad-hoc προγράμματα έκθεσης.
* Οι όγκοι δεδομένων είναι διαχειρίσιμα με πιο συμβατικά ΣΔΒΔ όπως Oracle - Ξέρω μια [μεγάλη ευρωπαϊκή επιχείρηση τηλεπικοινωνιών](http://www.telecomitalia.com/) που φορτώνει 600GB ανά ημέρα σε [Oracle](http://www.oracle.com) βάση δεδομένων. Όλα τα άλλα δεδομένα είναι ίδια, αυτό είναι δύο τάξεις μεγέθους μεγαλύτερο από όγκους δεδομένων σας, έτσι ώστε [από κοινού αρχιτεκτονικές δίσκο](http://www.databasecolumn.com/2007/10/database-parallelism-choices.html) εξακολουθούν να έχουν περιθώρια για εσάς. Μια
 [κοινής τίποτα](http://en.wikipedia.org/wiki/Shared_nothing_architecture) αρχιτεκτονικής όπως
 [Netezza](http://www.netezza.com) ή [Teradata](http://www.teradata.com) θα είναι πιθανώς ακόμα πιο γρήγορα, αλλά αυτοί οι όγκοι δεν είναι σε ένα επίπεδο που είναι πέρα από ένα συμβατικό σύστημα κοινόχρηστο δίσκο. Να θυμίσουμε, όμως, ότι τα συστήματα αυτά είναι όλα αρκετά ακριβά.
* Επίσης, έχουμε κατά νου ότι MapReduce είναι [όχι αποδοτικός αλγόριθμος επιλογής ερώτημα](http://highscalability.com/database-people-hating-mapreduce) . Είναι ουσιαστικά ένας μηχανισμός για τη διανομή υπολογισμούς ωμής βίας. Greenplum έχει μια MapReduce back-end, αλλά ένα ειδικά διαμορφωμένο κοινόχρηστο κινητήρα τίποτα δεν θα είναι πολύ πιο αποτελεσματική και να πάρετε περισσότερη δουλειά γίνεται για λιγότερο υλικό.


Να μου σχετικά με αυτό είναι ότι Teradata ή Netezza θα μπορούσε πιθανότατα να είναι το ιδανικό εργαλείο για τη δουλειά, αλλά σίγουρα το πιο ακριβό. 
[Oracle](http://www.oracle.com) , [Sybase IQ](http://www.sybase.com/products/datawarehousing/sybaseiq) ή ακόμα και [SQL Server](http://msdn.microsoft.com/en-us/sqlserver/default.aspx) θα χειριστεί επίσης τον όγκο των δεδομένων που εμπλέκονται, αλλά θα είναι πιο αργή - είναι από κοινού αρχιτεκτονικές δίσκο, αλλά μπορεί να διαχειριστεί ακόμα αυτό το είδος του όγκου δεδομένων. Δείτε [εν λόγω απόσπασης](https://stackoverflow.com/questions/126188/ms-sql-server-and-oracle-which-one-is-better-in-terms-of-scalability#126267) για μια μείωση στις σχετικές VLDB χαρακτηριστικά στο Oracle και SQL Server, και έχουμε κατά νου ότι η Oracle έχει μόλις εισήγαγε την [πλατφόρμα αποθήκευσης Exadata](http://www.oracle.com/solutions/business_intelligence/exadata.html) επίσης.


Σχέδιο ιδιότητά μου πίσω-of-a-FAG-πακέτο προτείνει ίσως 3-5 TB ή έτσι το μήνα συμπεριλαμβανομένων των δεικτών για την Oracle ή SQL Server. Πιθανώς λιγότερο στην Oracle με ευρετήρια bitmap, αν και ένα φύλλο δείκτη έχει ROWID 16-byte στο μαντείο έναντι 6 byte σελίδα αναφοράς για τον SQL Server.


Sybase IQ κάνει εκτεταμένη χρήση των δεικτών bitmap και έχει βελτιστοποιηθεί για ερωτήματα αποθήκη δεδομένων. Παρά το γεγονός ότι μια αρχιτεκτονική κοινόχρηστο-δίσκο, είναι πολύ αποτελεσματική για αυτόν τον τύπο του ερωτήματος (IIRC ήταν η αρχική στήλη προσανατολισμένη αρχιτεκτονική). Αυτό θα μπορούσε πιθανότατα να είναι καλύτερη από την Oracle ή SQL Server, όπως είναι εξειδικευμένο για αυτό το είδος της εργασίας.


Greenplum μπορούσε να είναι μια φθηνότερη επιλογή, αλλά ποτέ δεν έχω χρησιμοποιήσει πραγματικά έτσι δεν μπορώ να σχολιάσω το πόσο καλά λειτουργεί στην πράξη. 


Αν έχετε 10 διαστάσεις με μόλις μερικές εκατοντάδες γραμμές θεωρούν συγχωνεύονται σε μια ενιαία [διάσταση σκουπίδια](http://www.dmreview.com/news/1027074-1.html) που θα αδυνατίσετε τραπέζι γεγονός σας με τη συγχώνευση των πλήκτρων δέκα σε ένα μόνο. Μπορείτε ακόμα να εφαρμόσουν τις ιεραρχίες σε μια διάσταση σκουπίδια και αυτό θα χτυπήσει 1/2 ή περισσότερο από το μέγεθος του πίνακα πραγματικότητα σας και να εξαλειφθούν πολλά από τη χρήση του δίσκου από ευρετήρια.


Θα ήθελα να συστήσω ανεπιφύλακτα να πάτε με κάτι που παίζει ωραία με ένα λογικό διατομή των εργαλείων αναφοράς. *Αυτό σημαίνει SQL εμπρόσθιο άκρο.*  Εμπορικά συστήματα όπως το [Crystal Reports](http://www.businessobjects.com/product/catalog/crystalreports/) επιτρέπουν την υποβολή εκθέσεων και αναλύσεων που πρέπει να γίνουν από άτομα με πιο εύκολα απευθυνόμενοι σύνολο των δεξιοτήτων SQL. Ο κόσμος ανοιχτού κώδικα έχει επίσης παράγεται [BIRT](http://www.eclipse.org/birt/phoenix/) , [Jasper εκθέσεις](http://www.jaspersoft.com/JasperSoft_JasperReports.html?utm_source=google&utm_medium=cpc&utm_content=JasperReports&utm_campaign=JasperReportsSearchjasperreports) και [Pentaho.](http://www.pentaho.com) . Hive ή HBase βάζετε στην επιχείρηση της οικοδόμησης μιας προσαρμοσμένης front-end, το οποίο μπορείτε *πραγματικά* δεν θέλουν αν δεν είστε ευχαριστημένοι για να περάσετε τα επόμενα 5 χρόνια τη σύνταξη διαμορφωτές προσαρμοσμένη αναφορά σε Python.


Τέλος, θα φιλοξενήσει κάπου μπορείτε εύκολα να πάρετε μια γρήγορη ροή δεδομένων από τα συστήματα παραγωγής σας. Αυτό πιθανότατα σημαίνει ότι το δικό σας υλικό στο δικό σας κέντρο δεδομένων. Αυτό το σύστημα θα είναι I / O δεσμευμένη? να κάνει απλή επεξεργασία σε μεγάλο όγκο δεδομένων. Αυτό σημαίνει ότι θα πρέπει μηχανήματα με γρήγορη υποσυστήματα δίσκο. πάροχοι Cloud τείνουν να μην υποστηρίξει αυτό το είδος του υλικού, όπως είναι μια τάξη μεγέθους πιο ακριβά από ό, τι τον τύπο του κουτιού 1U μίας χρήσης που χρησιμοποιούνται παραδοσιακά από αυτές τις εξαρτήσεις. Γρήγορη Disk I / O δεν είναι μια δύναμη της αρχιτεκτονικής cloud. 

 

Είχα μεγάλη επιτυχία με [Vertica](http://www.vertica.com/) . Είμαι σήμερα φόρτωση οπουδήποτε μεταξύ 200.000.000 με 1.000.000.000 σειρές σε μια ημέρα - κατά μέσο όρο περίπου 9 billons σειρά ένα μήνα - αν και έχω πάει τόσο υψηλές όσο 17 δισεκατομμύρια σε ένα μήνα. Έχω κοντά στο 21 διαστάσεις και τα ερωτήματα τρέχει ταχύτητά του. Έχουμε προχωρήσει από το παλαιότερο σύστημα, όταν εμείς απλά δεν έχουν τα παράθυρα του χρόνου για να κάνει το dataload.


κάναμε μια πολύ διεξοδική μελέτη και μελέτη των διαφόρων λύσεων - και πρακτικά κοίταξε τα πάντα στην αγορά. Ενώ και οι δύο Teradata και Netezza θα μας ταιριάζει, ήταν απλά πάρα πολύ ακριβό για εμάς. Vertica τους δύο νικήσει την αναλογία τιμής / απόδοσης. Είναι ο τρόπος που ένα στήλες της βάσης δεδομένων.


Έχουμε περίπου 80 χρήστες τώρα - και αναμένεται να αυξηθεί σε περίπου 900 μέχρι το τέλος του επόμενου έτους, όταν θα αρχίσουν να ξεδιπλώσει πλήρως. 


Είμαστε σε μεγάλο βαθμό τη χρήση των υπηρεσιών ASP.NET/dundas/reporting για τις εκθέσεις. Επίσης, παίζει ωραία με λύσεις στοιχεία που παρέχουν τρίτοι - αν και δεν το έχω δοκιμάσει.


Με τον τρόπο αυτό θα πας να χρησιμοποιήσετε για dataload; Είμαστε χρησιμοποιώντας [πληροφορική](http://www.informatica.com) και ήταν πολύ ικανοποιημένος με αυτό. SSIS μας οδήγησε επάνω στον τοίχο.

 

Χρησιμοποιώντας HBase και την υποβολή εκθέσεων hbase jasperserver pluging, μπορούν να δημιουργηθούν αξιοπρεπείς εκθέσεις. Χαμηλή OLAP λανθάνουσα κατάσταση μπορεί να δημιουργηθεί σε HBase. Αυτό θα λειτουργήσει το ίδιο με το SQL. Jasperserver HBase plugin παρέχει Hbase γλώσσα ερωτημάτων που αποτελεί προέκταση Hbase εντολή σάρωσης.

 

Είμαι περίεργος τι τελικά επιλεγεί. Η ερώτησή σας ήταν στο τέλος της ουράς του 2008. Σήμερα η κατάσταση είναι διαφορετική με HBase, Greenplum, χοίρων κλπ δίνοντας SQL, όπως η πρόσβαση.

 

Διαβάστε την ιστοσελίδα του Monash: <http://www.dbms2.com/> Γράφει σχετικά μεγάλη βάσεις δεδομένων.


Ίσως μπορείτε να χρησιμοποιήσετε το Oracle Exadata ( <http://www.oracle.com/solutions/business_intelligence/exadata.html> και <http://kevinclosson.wordpress.com/exadata-posts/> ) ή ίσως μπορείτε να χρησιμοποιήσετε Hadoop. Hadoop είναι δωρεάν.

 

NXC, είστε σίγουροι για αυτά τα 600 δισ σειρές ανά ημέρα; Ακόμη και αν μία γραμμή θα είναι μόνο ένα byte, που είναι 600 GB δεδομένων καθημερινά. Υποθέτοντας μια πιο λογική 100 bytes ανά σειρά, μιλάμε για 60 TB δεδομένων ανά ημέρα, 1.8 PB ανά μήνα. Πραγματικά αμφιβάλλω κάποιος αντλεί ότι ένα μεγάλο μέρος των δεδομένων μέσω της Oracle.


[Άλλες πηγές](http://www.dbms2.com/2008/09/04/data-warehouse-sizes-issues/ "άλλες πηγές") φαίνεται να επιβεβαιώνουν ότι η Oracle γίνεται αρκετά δύσκολο να χειριστεί, όταν ο όγκος των δεδομένων που φτάνει τα στοιχεία TB 2-ψηφίων.

 

Μια εναλλακτική λύση για ένα μικρό αριθμό των χρηστών θα ήταν (Beowulf) συμπλέγματος. 20K θα αγοράζει το 50 nettops με 500G η κάθε μία. Αυτό είναι περίπου 3KW μέγιστη ισχύ. Ή 4 μήνες αποθήκευσης σύννεφο.

 