<?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>Απ: Eventually consistent ... ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66766.aspx</link><pubDate>Fri, 05 Aug 2011 07:44:34 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66766</guid><dc:creator>Panagiotis Kefalidis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66766.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66766</wfw:commentRss><description>&lt;p&gt;Άμα αυτά είναι τα νούμερα, πάω πάσο..&amp;nbsp;Αλλά ούτε πιστεύω ότι χρειάζεται ένα ακόμα "απλό μηχάνημα" που κοστίζει λιγότερα απο το κόστος που λες, ούτε το πόσο μπορεί να κοστίζει να συντηρείτε μετά αυτό.. Και 30 μέρες για να αλλάξει τα table names στα search queries; Πολλές μου φαίνονται πάλι. Anyway, άλλο ένα πράγμα να θυμάμε για το μέλλον &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/p&gt;&lt;p&gt;Άγγελε, όντως μπορεί να έιναι πιο εύκολο να το χωνέψει, έχεις δίκιο.&lt;/p&gt;</description></item><item><title>Απ: Eventually consistent ... ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66765.aspx</link><pubDate>Fri, 05 Aug 2011 07:23:04 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66765</guid><dc:creator>Antonios Chatzipavlis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66765.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66765</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;anjelinio:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Ευχαριστώ παίδες για τις απόψεις, όπως πάντα, τίποτα δεν είναι η απόλυτη μια λύση κι απλώς ζυγίζεις ανάλογα τις περιστάσεις τις διαθέσιμες επιλογές. Κι εδώ πλέον έχουμε 2-3 και πολύ ενδιαφέρουσες :)&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Πάνο, η αλήθεια είναι ότι ένα ακόμα SQL μηχάνημα πουλιέται πιο εύκολα σαν ιδέα σε ένα συντηρητικό περιβάλλον. Και είναι η πιο εύκολη λύση, το replication δεν τρομάζει ένα DBA.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;.. βασικά όμως με τρώει ο κ***ς μου να δοκιμάσω το service broker πρώτα. &amp;nbsp;Θέλω να μπορώ να 'push' notifications έξω.&lt;/div&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;

Δεν θα κερδίσεις ιδιαίτερα με τον service broker. Αν και είμαι φανατικός οπαδός του θα την τρως και πάλι σε locks. To τηλέφωνο μου το ξέρεις πάρε με να μιλήσουμε και να σου εξηγήσω περισσότερα.</description></item><item><title>Απ: Eventually consistent ... ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66764.aspx</link><pubDate>Fri, 05 Aug 2011 07:18:08 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66764</guid><dc:creator>Antonios Chatzipavlis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66764.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66764</wfw:commentRss><description>Στο χωριό μου λένε ότι το φθηνο κρέας το τρώνε οι σκύλοι. Αλλά απο οποία πλευρά και να το δεις πάλι φθηνότερη είναι η λύση που λέω, και αυτο το γράφω με τα εξής κριτήρια&lt;br /&gt;
1.O Άγγελος θα πρέπει να δαπανήσει χρόνο για να κάνει την έρευνα για να δει τι θέλει. Αυτο σημαίνει τουλάχιστον 20 ανθρωποημερες εργασίας άρα χονδρικα υπολόγισε 5000€ για αυτές τις ημέρες.&lt;br /&gt;
2. Αφού βρει το τι πρέπει να κάνει θα πρέπει να το υλοποιήσει. Αυτό χονδρικα θα θέλει άλλες 30 ημέρες μαζί με 10 ημέρες για τεστ της λύσης. Χονδρικα το κόστος  για αυτές είναι 15000€. &lt;br /&gt;

Συνυπλογιζοντας στα παραπάνω ότι για αυτές τις ημέρες η παραγωγικότητα όσων χρησιμοποιούν την λύση θα είναι χαμηλή πράγμα που σημαίνει χάσιμο σε χρήμα που αν μπορώ σωστά να κρίνω γνωρίζοντας που είναι ο Άγγελος αυτή την στιγμή μιλάμε για ένα πόσο τουλάχιστον 50000€.&lt;br /&gt;

Mε αυτά τα δεδομένα ΕΣΥ τι πιστεύει τώρα; Και μην μου πεις ότι είμαι υπερβολικός και ότι εκει που είσαι τώρα δεν τα σκέφτονται έτσι γιατί σε αυτη τ.ην περίπτωση θα θεώρησω ότι και εκει απο project management και εκτίμηση κόστους είναι ελλαδισταν.</description></item><item><title>Απ: Eventually consistent ... ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66763.aspx</link><pubDate>Fri, 05 Aug 2011 06:59:52 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66763</guid><dc:creator>anjelinio</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66763.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66763</wfw:commentRss><description>Ευχαριστώ παίδες για τις απόψεις, όπως πάντα, τίποτα δεν είναι η απόλυτη μια λύση κι απλώς ζυγίζεις ανάλογα τις περιστάσεις τις διαθέσιμες επιλογές. Κι εδώ πλέον έχουμε 2-3 και πολύ ενδιαφέρουσες :)&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Πάνο, η αλήθεια είναι ότι ένα ακόμα SQL μηχάνημα πουλιέται πιο εύκολα σαν ιδέα σε ένα συντηρητικό περιβάλλον. Και είναι η πιο εύκολη λύση, το replication δεν τρομάζει ένα DBA.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;.. βασικά όμως με τρώει ο κ***ς μου να δοκιμάσω το service broker πρώτα. &amp;nbsp;Θέλω να μπορώ να 'push' notifications έξω.&lt;/div&gt;</description></item><item><title>Απ: Eventually consistent ... ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66762.aspx</link><pubDate>Fri, 05 Aug 2011 04:55:16 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66762</guid><dc:creator>Panagiotis Kefalidis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66762.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66762</wfw:commentRss><description>&lt;p&gt;Εσύ βλέπεις το OpEx εγώ βλέπω το CapEx.. Θεωρώ ότι σωστό Implementation είναι φθηνό. Το να ξοδέψουν κάτι χιλιάρικα για ένα Equally δυνατό μηχάνημα μόνο για το Search (με βάση αυτά που λέει ο Άγγελος, ότι το χτυπάνε τόσο συχνά και περισσότερο απο ότι τα CRUD) δεν νομίζω ότι είναι πιο φθηνό απο τις αλλαγές στον κώδικα.. Απο την άλλη αμα δεν έχουμε πλήρη εικόνα, μπορεί να λέμε και σαχλαμαρές έτσι;&lt;/p&gt;</description></item><item><title>Απ: Eventually consistent ... ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66761.aspx</link><pubDate>Fri, 05 Aug 2011 04:14:01 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66761</guid><dc:creator>Antonios Chatzipavlis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66761.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66761</wfw:commentRss><description>Είσαι σίγουρος ότι αυτο που προτεινες εινια φθηνό; Γιατί αν τα βάλεις κάτω δεν είναι φθηνό. Το SQL server federation με partitioned tables έχει μεγάλο κόστος σε αλλαγές που θα πρέπει να κάνει στον κώδικα ή στην βάση. Ενώ με αυτο που λέω έχει δυο connections strings ένα σε αυτη που γράφει και ένα σε αυτη που διαβάζει και αλλάζει μόνο τα σημεία που κάνει read</description></item><item><title>Απ: Eventually consistent ... ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66760.aspx</link><pubDate>Fri, 05 Aug 2011 03:47:02 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66760</guid><dc:creator>Panagiotis Kefalidis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66760.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66760</wfw:commentRss><description>&lt;p&gt;Εγώ πάντως πρότεινα το φθηνό σενάριο.. ακού εκεί να στήσεις ολόκληρο άλλο SQL Server.. λεφτά *δεν* υπάρχουν κύριε Χατζηπαυλή.. χεχε. &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-4.gif" alt="Stick out tongue" /&gt;&lt;/p&gt;</description></item><item><title>Απ: Eventually consistent ... ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66759.aspx</link><pubDate>Fri, 05 Aug 2011 03:23:51 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66759</guid><dc:creator>Antonios Chatzipavlis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66759.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66759</wfw:commentRss><description>Άγγελε καλησπέρα. Η ιδανική λύση, και δοκιμασμένη ειδικά όταν δεν έχεις χρόνο να κανείς σωστό performance running, είναι το transactional replication. Σε αυτή την περίπτωση ειδικά αν είσαι σε εσωτερικό δίκτυο 1gb το latency που θα έχεις θα είναι τις τάξεως των 10-20 ms. Για να επωφεληθείς από αυτο θα πρέπει την replica να την έχεις σε ξεχωριστή φυσική μηχανή ή αν η κυρία μηχανή σου είναι βαρβατη σε άλλο instance. Η λύση αυτη δουλεύει σε πελάτη μου εδω και 8 χρόνια και πάνω σε μια βάση πάνω απο 2ΤΒ με trillions of rows. Βέβαια πάντα υπάρχει και η δυνατότητα να βυθιστεις μέσα στην δομή της και με τα αντίστοιχα εργαλεία που έχει ο SQL να βρεις την αιτία του κακού που δεν είναι κακο να γίνει κάποια στιγμή.</description></item><item><title>Απ: Eventually consistent ... ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66758.aspx</link><pubDate>Fri, 05 Aug 2011 03:05:44 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66758</guid><dc:creator>Panagiotis Kefalidis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66758.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66758</wfw:commentRss><description>&lt;p&gt;Θα μπορούσαν να παίζουν και τα δύο σαν σενάρια, &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Βελτιώσεις στην βάση πχ. Profiling, να δεις execution plans κλπ, και να καταλήξεις εάν όντως είναι optimal ή όχι. Μπορεί να καταλήξεις ότι ο SQL Server δουλεύει στο "όριο" με τα resources που έχει.&lt;/li&gt;&lt;li&gt;Εάν δεν σε νοιάζει το πότε θα υπάρχει consistency μεταξύ search και "real" data, τότε η λύση με τα search tables είναι επίσης καλή. Τράπεζα εδώ στο Βέλγιο το έχει κάνει και δουλεύει μια χαρά. Και μάλιστα το πήγανε κι ένα βήμα παραπέρα κι έχουν multiple search servers με shards ανα πελάτη. Ανάλογα με το/ποιον ψάχνει, χτυπάει κι αντίστοιχο server. Βέβαια η λύση αυτή και πάλι δεν έχει νόημα εάν ο SQL Sever δουλεύει στο όριο απο άποψη resources. Ναι μεν θα είναι πιο γρήγορο, άλλα όχι ιδιαίτερα.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Eventually consistent ... ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66756.aspx</link><pubDate>Fri, 05 Aug 2011 01:52:23 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66756</guid><dc:creator>anjelinio</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66756.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66756</wfw:commentRss><description>Το σενάριο:&lt;div&gt;&lt;br&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Έχω κάποια tables, με μερικά&amp;nbsp;εκατομμύρια rows το καθένα. Αυτά τρώνε updates / inserts συνεχώς, είναι τα "κύρια" entities του συστήματός μας. &amp;nbsp;&lt;/li&gt;&lt;li&gt;Πάνω στα ίδια tables όμως, τρέχουν και ... searches - με την ίδια ή μεγαλύτερη συχνότητα.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Το αποτέλεσμα ... &lt;b&gt;βραδύτητα&lt;/b&gt; .... βραδύτητα ανυπόφορη, ειδικά όταν για μια οθόνη μπορεί να χρειαστεί να τρέχουν 3 - 4 queries βασισμένα σε αυτά τα tables&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Δεν "έχω" όλες τις λεπτομέρειες ακόμα, μόλις το κληρονόμησα το εξάμβλωμα και δεν έχω βυθιστεί ακόμα για τα καλά μέσα του, τουλάχιστον ξέρω ότι στα σημαντικά πεδία υπάρχουν indexes, οπότε ημι-αυθαίρετα υποθέτω ότι κάποια στιγμή ξεκινάνε τα locks και συμβαίνει ότι συμβαίνει - που μπορεί να σημαίνει orders of magnitude slower, τα 40 millis 4000 &amp;nbsp;!!!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;( please advise αν θα μπορούσα να κοιτάξω κάτι στο setup της όλης κατάστασης για να σας διαφωτίσω περισσότερο επί της κατάστασης )&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Η πρώτη σκέψη μου όμως, σαν σωστός over-engineer, ήταν να έχω για τα βασικά μου τέτοια entities, τα αντίστοιχα "search-tables", όπου κρατώ μόνο τα searchable πεδία του καθενός απο τα entities μου, και τρέχω τα searches πάνω σε αυτά, αντί για τα κυρίως tables. &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Αλλά θέλω και οι αλλαγές που γίνονται στα κυρίως, τελικά να φτάνουν και ... στα search tables. In a throttled manner, ήσυχα κι ωραία ... κι αν έχω 5 λεπτά lag δε με πειράζει.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Και η ερώτηση ...&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Λέω βλακείες;&lt;/b&gt; Κάτι απλώς πάει στραβά στο πως είναι αυτά τα tables στη βάση μου, ή/και στον κώδικα που τα χρησιμοποιεί;&lt;/li&gt;&lt;li&gt;Παίζει κάνας Service Broker να με "&lt;i&gt;φτιάξει&lt;/i&gt;", και να τον χρησιμοποιήσω μετά και για άλλους σκοπούς μιας και μου δίνει event stream προς τα έξω για τα updates μου;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Ε; Τί λέτε κι εσείς;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;</description></item></channel></rss>