ηλεκτρονικό βιβλιοπωλείο διασύνδεση με άλλη βάση με χρήση ftp

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
mgiota
Δημοσιεύσεις: 190
Εγγραφή: 15 Σεπ 2009 13:11
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

ηλεκτρονικό βιβλιοπωλείο διασύνδεση με άλλη βάση με χρήση ftp

Δημοσίευση από mgiota » 02 Νοέμ 2011 20:27

Θα χρειαστείς 2 βάσεις (καλύτερα 2 σερβερς), η πρώτη θα παίρνει όλα τα δεδομένα αφού γίνει μεταφορά με ftp και θα κάνει error checking.
Τι error checking θα κάνει? Και βασικά όταν λες ότι θα παίρνει όλα τα δεδομένα, θα κάνει insert σε αυτή τη δοκιμαστική βάση 5.000.000 βιβλία, αφού πρώτα τα έχει κάνει όλα delete?

Άρα μετά τι θα γίνεται με την κανονική βάση; Για το αυτόματο backup που λες, άρα δε χρειάζεται να γράψω ή να βρω κάποιο σκριπτάκι? Πως το δηλώνω αυτό στον κώδικά μου;

Δεν κατάλαβα..


Άβαταρ μέλους
billt
Δημοσιεύσεις: 1175
Εγγραφή: 20 Φεβ 2004 16:17
Τοποθεσία: Θεσσαλονίκη

ηλεκτρονικό βιβλιοπωλείο διασύνδεση με άλλη βάση με χρήση ftp

Δημοσίευση από billt » 02 Νοέμ 2011 20:40

Τι error checking θα κάνει? Και βασικά όταν λες ότι θα παίρνει όλα τα δεδομένα, θα κάνει insert σε αυτή τη δοκιμαστική βάση 5.000.000 βιβλία, αφού πρώτα τα έχει κάνει όλα delete?
Θα λαμβάνει το dumb με wget http://www.cyberciti.biz/faq/wget-comma ... e-password και μπορείς να το κάνεις split με http://www.codediesel.com/php/splitting ... dump-files και μετά να το ανεβάσεις. Αυτά γίνονται με cron jobs
Κάθε βράδυ η βάση στον αρχικό σερβερ αδειάζει και ενημερώνεται από τα παραπάνω αρχεία. Μετά τρέχει Insert ή Update στην κανονική βάση ελέγχοντας αν τα δεδομένα είναι πλήρης (με τιμή, περιγραφή κτλ) αφού πρώτα τσεκάρει πράγματα, όπως πχ αν η βάση έχει λογικό αριθμό εγγραφών. Αν υπάρχει πρόβλημα σου στέλνει εμαιλ
Άρα μετά τι θα γίνεται με την κανονική βάση; Για το αυτόματο backup που λες, άρα δε χρειάζεται να γράψω ή να βρω κάποιο σκριπτάκι? Πως το δηλώνω αυτό στον κώδικά μου;

Δεν κατάλαβα
Αν το σύστημά σου κάνει backup τη βάση κάθε βράδυ δεν χρειάζεται εσύ να κάνεις δεύτερο oύτε να γράψεις κάποιο scriptaki. Απλά χρονικά η ενημέρωση της βάσης θα έπεται του update

mgiota
Δημοσιεύσεις: 190
Εγγραφή: 15 Σεπ 2009 13:11
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

ηλεκτρονικό βιβλιοπωλείο διασύνδεση με άλλη βάση με χρήση ftp

Δημοσίευση από mgiota » 02 Νοέμ 2011 21:01

Άρα αυτό που λες είναι ότι αρχικά τη δουλειά την κάνουν τα cron jobs για να πάρω το dumb?
Κάθε βράδυ η βάση στον αρχικό σερβερ αδειάζει και ενημερώνεται από τα παραπάνω αρχεία.


Που βρίσκεται ο αρχικός server? Σαφώς δεν αναφέρεται στο αγγλικό βιβλιοπωλείο.
Μετά τρέχει Insert ή Update στην κανονική βάση



Το θέμα μου σαφώς είναι αν θα κάνει Delete/Insert ή Update στη βάση μου. Τι είναι πιο γρήγορο για τόσο μεγάλο όγκο δεδομένων; Δεν θα έχω runtime error?

Άβαταρ μέλους
billt
Δημοσιεύσεις: 1175
Εγγραφή: 20 Φεβ 2004 16:17
Τοποθεσία: Θεσσαλονίκη

ηλεκτρονικό βιβλιοπωλείο διασύνδεση με άλλη βάση με χρήση ftp

Δημοσίευση από billt » 02 Νοέμ 2011 21:16

Αναφερομαι στη πρώτη βάση/σερβερ που φορτώνει τα δεδομένα.

Update κάνεις αν υπάρχει ήδη εγγραφή πχ αλλάζεις την τιμή , Insert αν ειναι νεο βιβλιο. Ενημερωση κάνεις σταδιακά δεν κρατάς τη mysql connection ανοικτή

gvre
Δημοσιεύσεις: 992
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

ηλεκτρονικό βιβλιοπωλείο διασύνδεση με άλλη βάση με χρήση ftp

Δημοσίευση από gvre » 02 Νοέμ 2011 21:19

Στην προσωρινή βάση μπορείς να κάνεις truncate (όχι delete) και να περνάς τα στοιχεία από την αρχή. Στη θέση σου θα έκανα μια δοκιμή με update για να δω αν είναι ταχύτερο.

Όταν μεταφέρεις τα data από την προσωρινή βάση στην κανονική, μπορείς να χρησιμοποιήσεις το insert on duplicate της MySQL.

ps. Καλό είναι η προσωρινή βάση να μην έχει indexes για να γλυτώσεις χρόνο από το insert.
ps2. Επειδή τα data είναι πολλά, ίσως χρειαστεί να χρησιμοποιήσεις κάποια άλλη γλώσσα προγραμματισμού (πχ C++ ή java)
ps3. Χρησιμοποίησε transactions

mgiota
Δημοσιεύσεις: 190
Εγγραφή: 15 Σεπ 2009 13:11
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

ηλεκτρονικό βιβλιοπωλείο διασύνδεση με άλλη βάση με χρήση ftp

Δημοσίευση από mgiota » 02 Νοέμ 2011 21:29

μάλλον δεν μπορώ να καταλάβω, γιατί ίσως ρωτάω κάτι αυτονόητο για σένα.

μου λες ότι φτιάχνω 2 βάσεις. Και τις 2 στο δικό μου server σωστά? Και η πρώτη απ' ότι κατάλαβα φτιάχνεται με το cron job.

Εσύ μιλάς για ενημέρωση της βάσης και όχι να τα κάνω όλα delete και μετά insert όπως μου πρότεινε κάποιος. Για την ενημέρωση που ανέφερες με βάση το ISBN, θα ξεκινάω να διατρέχω τις 2 βάσεις και αν βρίσκω νέο isbn θα κάνω το insert, αλλιώς update?

Αυτό η σταδιακή ενημέρωση που λες με νοιάζει πως θα γίνεται; Με κώδικα τι θα γράφω δηλαδή;

mgiota
Δημοσιεύσεις: 190
Εγγραφή: 15 Σεπ 2009 13:11
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

ηλεκτρονικό βιβλιοπωλείο διασύνδεση με άλλη βάση με χρήση ftp

Δημοσίευση από mgiota » 02 Νοέμ 2011 21:37

gvre έγραψε: ps2. Επειδή τα data είναι πολλά, ίσως χρειαστεί να χρησιμοποιήσεις κάποια άλλη γλώσσα προγραμματισμού (πχ C++ ή java)
Τώρα χάνομαι ακόμα πιο πολύ. Θα είναι πιο γρήγορες; Το eshop που θα στήσω θα είναι σε έτοιμη open source πλατφόρμα, πιθανώς osCommerce. Εσύ αναφέρεσαι στο κομμάτι που θέλω για την ανανέωση της εξωτερικής βάσης και όχι σε όλο το site.
gvre έγραψε:ps3. Χρησιμοποίησε transactions
Πρέπει να κάτσω να δω τι είναι.

Σας ζάλισα:-(

gvre
Δημοσιεύσεις: 992
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

ηλεκτρονικό βιβλιοπωλείο διασύνδεση με άλλη βάση με χρήση ftp

Δημοσίευση από gvre » 02 Νοέμ 2011 21:41

mgiota έγραψε:
gvre έγραψε: ps2. Επειδή τα data είναι πολλά, ίσως χρειαστεί να χρησιμοποιήσεις κάποια άλλη γλώσσα προγραμματισμού (πχ C++ ή java)
Τώρα χάνομαι ακόμα πιο πολύ. Θα είναι πιο γρήγορες; Το eshop που θα στήσω θα είναι σε έτοιμη open source πλατφόρμα, πιθανώς osCommerce. Εσύ αναφέρεσαι στο κομμάτι που θέλω για την ανανέωση της εξωτερικής βάσης και όχι σε όλο το site.
Ακριβώς. Αυτό όμως το βλέπεις μετά τις δοκιμές που θα κάνεις.
Δες επίσης τους 2 παρακάτω χρήσιμους συνδέσμους.

http://dev.mysql.com/doc/refman/5.1/en/ ... elect.html
http://dev.mysql.com/doc/refman/5.0/en/ ... icate.html

Άβαταρ μέλους
billt
Δημοσιεύσεις: 1175
Εγγραφή: 20 Φεβ 2004 16:17
Τοποθεσία: Θεσσαλονίκη

ηλεκτρονικό βιβλιοπωλείο διασύνδεση με άλλη βάση με χρήση ftp

Δημοσίευση από billt » 02 Νοέμ 2011 21:42

mgiota έγραψε:μάλλον δεν μπορώ να καταλάβω, γιατί ίσως ρωτάω κάτι αυτονόητο για σένα.

μου λες ότι φτιάχνω 2 βάσεις. Και τις 2 στο δικό μου server σωστά? Και η πρώτη απ' ότι κατάλαβα φτιάχνεται με το cron job.
Δύο βάσεις στον ίδιο ή διαφορετικό σερβερ. Η πρώτη θα αδειάζει με truncate και μετά βάζεις τα δεδομένα σε χρόνο που θα οριστεί με cron job
Για την ενημέρωση που ανέφερες με βάση το ISBN, θα ξεκινάω να διατρέχω τις 2 βάσεις και αν βρίσκω νέο isbn θα κάνω το insert, αλλιώς update?
NAI
Αυτό η σταδιακή ενημέρωση που λες με νοιάζει πως θα γίνεται; Με κώδικα τι θα γράφω δηλαδή;
Nαι με προγραμμα που θα ενημερώνει/εισάγει πχ 50000 εγγραφές κάθε χ λεπτα και σε όσα έχει ενημερώσει βάζει date. Μετα διατρέχει αλλα 50000 μερικα λεπτα αργοτερα που δεν εχουν σημερινό date κτλ

mgiota
Δημοσιεύσεις: 190
Εγγραφή: 15 Σεπ 2009 13:11
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

ηλεκτρονικό βιβλιοπωλείο διασύνδεση με άλλη βάση με χρήση ftp

Δημοσίευση από mgiota » 02 Νοέμ 2011 22:49

Παιδιά thanks.

Αρχίζω και το πιάνω. Βασικά πάνω στην υλοποίηση θα τα δω όλα αυτά στην πράξη.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες