<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>SQL Server (και άλλες databases)</title><link>https://www.dotnetzone.gr:443/cs/forums/28/ShowForum.aspx</link><description>Θέματα που αφορούν τον SQL Server (7.0, 2000, 2005) αλλά και Oracle, Access, DB2, MySQL, κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: 2 βάσεις σε Replication και 1 backup</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/37547.aspx</link><pubDate>Tue, 20 Nov 2007 17:04:44 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:37547</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/37547.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=37547</wfw:commentRss><description>&lt;P&gt;Μην αγχώνερσαι, δεν είναι ανάγκη να πιάσεις τα πάντα. Από αυτό που περιγράφεις καταλαβαίνω ότι σε ενδιαφέρουν δύο πράγματα. Το ένα είναι το scalability, ήτοι&amp;nbsp;η δυνατότητα κλιμάκωσης της λύσης σου, δηλαδή υποθέτουμε ότι μελλοντικά θα έχει περισσότερο "φόρτο", όποτε τη φτιάχνουμε από τώρα έτσι ώστε να μπορεί να ανταπεξέλθει αργότερα χωρίς re-engineering. Το δεύτερο είναι το high-availability, δηλαδή τα χαρακτηριστικά εκείνα που θα επιτρέψουν στο σύστημα να συνεχίσει να λειτουργεί όταν συμβούν&amp;nbsp;διάφορα καταστροφικά περιστατικά. Και τα δύο υλοποιούνται με διάφορους τρόπους στον SQL Server, ωστόσο μια λύση με αυτά τα δύο χαρακτηριστικά δεν είναι αποκλειστικά θέμα του RDBMS. Για παράδειγμα, οι application servers είναι χαρακτηριστικό που εμπίπτει στο scalability. Μπορεί μπροστά να υπάρχουν δεκάδες ή&amp;nbsp;εκατοντάδες clients οι οποίοι όμως μιλάνε και ανταλλάσουν data με τους application servers και όχι απευθείας με τη βάση. Δεν ξέρουν σε ποιά βάση τελικά συνδέονται γιατί ενδιάμεσα λειτουργεί/ούν ο/οι application server/ρs. H backup βάση των δύο βάσεων που αναφέρεις εμπίπτει στον τομέα του high availability.&lt;/P&gt;
&lt;P&gt;Ως προς το scalability υπάρχουν διάφορες λύσεις. Μπορείς για παράδειγμα να υλοποιήσεις Distributed Partitioned Views έτσι ώστε να σπάσεις τα data σε πολλαπλές βάσεις, αυτό που στην ορολογία του SQL Server ονομάζεται Federated Database Design. Αυτή η λύση δεν απαιτεί να συντηρείς με κώδικα αυτόν τον διαχωρισμό, γίνεται διαφανώς για σένα από τον SQL Server. Αν στηρίξεις όλο αυτό σε ένα μηχανισμό clustering, τότε σε περίπτωση προβλήματος θα έχεις και το απαιτούμενο fail safety. Βέβαια, συνολικά, μια τέτοια λύση στον πραγματικό κόσμο έχει αρκετό κόστος καθώς απαιτεί high-end h/w εις διπλούν (ένα επιπρόσθετο node για κάθε federated server) καθώς επίσης και πολλαπλές άδειες SQL Server Enterprise. Ως εκ τούτου υπάρχουν διάφοροι εναλλακτικοί τρόποι για να πετύχεις αυτά που κουβεντιάζουμε, όπως το replication, το database mirroring, κλπ, ο καθένας με τα πλεονεκτήματα και τα μειονεκτήματα του.&lt;/P&gt;
&lt;P&gt;Ως προς την εργασία σου, το ερώτημα είναι τι θέλει ο καθηγητής σου να υλοποιήσεις. Αν στηριχτείς σε έτοιμα features του SQL Server, ουσιαστικά δεν θα κάνεις ανάπτυξη παρά μόνο του s/w που θα πατάει πάνω σε αυτά καθώς όλα θα γίνονται από τον SQL Server. Πάντως όπως και να έχει, θα έπρεπε να γίνεται το ανάποδο. Να σου σώσει το σενάριο και να βρεις τη λύση βάσει των απαιτήσεων. Όχι να σε υποχρεώσει να υλοποιήσεις κάτι συγκεκριμένο και να ψάχνεις να βρεις σενάριο που να κολλάει σε αυτήν την ιδέα που έχει στο μυαλό του.&lt;/P&gt;</description></item><item><title>Απ: 2 βάσεις σε Replication και 1 backup</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/37538.aspx</link><pubDate>Tue, 20 Nov 2007 06:20:56 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:37538</guid><dc:creator>M1ke</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/37538.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=37538</wfw:commentRss><description>Σε ευχαριστώ για τo link που έστειλες, αν και δεν πιάνω τα πάντα από εκεί μέσα...&lt;br /&gt;&lt;br /&gt;Βασικά το σενάριο είναι προδιαγεγραμμένο από τον καθηγητή μου... Πρέπει να έχω τα στοιχεία του οργανισμού κατανεμημένα σε 2 βάσεις δεδομένων, με μία τρίτη να λειτουργεί ως backup των άλλων 2, με ενημέρωση της για κάθε αλλαγή την ίδια στιγμή. Οι δύο βάσεις πρέπει να έχουν τα ίδια tables αλλά θα υπάρχουν διαφορετικές εγγραφές στην κάθε μία. Κάθε βάση θα είναι υπεύθυνη για έναν αριθμό πελατών, οπότε θα υπάρχουν daemons κάτω από τα applications που θα ξέρουν ποια βάση να αλλάξουν.&lt;br /&gt;Το κακό είναι ότι δεν έχω ξαναδουλέψει με τόσο περίπλοκο σύστημα και δεν ξέρω ουτε τους μηχανισμους ουτε την ορολογία του .ΝΕΤ.&lt;br /&gt;</description></item><item><title>Απ: 2 βάσεις σε Replication και 1 backup</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/37512.aspx</link><pubDate>Mon, 19 Nov 2007 16:58:18 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:37512</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/37512.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=37512</wfw:commentRss><description>&lt;P&gt;Replication είναι η "αντιγραφή" δεδομένων από βάση σε βάση, δεν σχετίζεται απαραίτητα με κατανεμημένες βάσεις αλλά μπορεί και να χρησιμοποιηθεί σε τέτοιο σενάριο. Για "Failover partner" δεν έχω ακούσει, υπάρχει "failover clustering" και "failover cluster". &lt;/P&gt;
&lt;P&gt;Γενικά, ο SQL Server παρέχει πολλές επιλογές σε αυτό που λέμε "High Availability". Εδώ: &lt;A href="http://technet.microsoft.com/en-us/sqlserver/bb331801.aspx"&gt;http://technet.microsoft.com/en-us/sqlserver/bb331801.aspx&lt;/A&gt;&amp;nbsp;θα βρεις αρκετό υλικό να διαβάσεις και να δεις τι ταιριάζει στην περίπτωσή σου. &lt;/P&gt;
&lt;P&gt;Πάντως αυτό που περιγράφεις ως "Δεύτερον" πρέπει να το κάνεις "Πρώτον" και να ασχοληθείς πολύ ώστε να το καθορίσεις επακριβώς. Έτσι θα δεις ποιές είναι οι απαιτήσεις του σεναρίου και κατόπιν πως μπορείς να τις υλοποιήσεις. Αν πας ανάποδα ξεκινώντας από το τεχνικό επίπεδο, 3 υπολογιστές, 2 βάσεις, κατανεμημένες, failover, application servers, τότε θα ράψεις πρώτα το κουστούμι και κατόπιν θα προσπαθείς να μπεις μέσα. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>2 βάσεις σε Replication και 1 backup</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/37497.aspx</link><pubDate>Sun, 18 Nov 2007 19:04:01 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:37497</guid><dc:creator>M1ke</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/37497.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=37497</wfw:commentRss><description>Καλησπέρα σε όλους. Χρησιμοποιώ τον SQL Server 2005 και θέλω να στήσω σε ένα δίκτυο 3 υπολογιστές,2 με τα ίδια tables kai views αλλά με διαφορετικές εγγραφές και τον τρίτο ως backup και των 2. &lt;br /&gt;&lt;br /&gt;Κατ'αρχήν, (ν00μπικη ερώτηση) αυτό που περιγράφω είναι μία κατανεμημένη βάση? Η κατανομή αυτή στο MSSQL  λέγεται "replication" και ο backup "failover partner"?&lt;br /&gt;&lt;br /&gt;Δεύτερον, το έχω σκεφτεί ως εξής:&lt;br /&gt;&lt;br /&gt;Επειδή το δίκτυο αυτό είναι μέρος εργασίας σε πανεπιστήμιο θα υπάρχουν άλλοι 2 υπολογιστές, ως application servers. θέλω οι application servers να βλέπουν τις 3 βάσεις σαν μία ενιαία.&lt;br /&gt;Εσωτερικά κάθε app server θα έχει "προτίμηση" σε μία από τις 2 βάσεις (οι νέεοι πελάτες θα γράφονται αναγκαστικά σε συγκεκριμένη βάση Α) αλλά αν έρθει ο πελάτης από το υποκατάστημα Β να μπορούν να τον εξυπηρετήσουν.&lt;br /&gt;Επίσης αν πέσει μία απο τις 2 βάσεις να δουλέψει αυτόματα ο backup server, ο οποίος θα ενημερώνεται με κάθε αλλαγη κάθε μιας από τις 2 βάσεις.&lt;br /&gt;&lt;br /&gt;Είναι εφικτό κάτι τέτοιο? Δεκτά links, γνώμες, διορθώσεις στην ορολογία, κλπ&lt;br /&gt;</description></item></channel></rss>