Re: dump, drop database then merge/aggregate

lejeczek <[email protected]>
Newsgroups gmane.comp.db.mysql.general
Message-ID <[email protected]>
On 29/02/16 16:32, Steven Siebert wrote:
> What level of control do you have on the remote end that is
> collecting/dumping the data?  Can you specify the command/arguments on how
> to dump?  Is it possible to turn on binary logging and manually ship the
> logs rather than shipping the dump, effectively manually doing replication?
in an overview it's a simple php app, a form of a 
questionnaire that collects user manual input, db backend is 
similarly simple, just one table.
Yes I can operate mysqldump command but nothing else, I do 
not have control over mysql config nor processes.

It's one of those cases when for now it's too late and you 
are only thinking - ough... that remote box, if compromised 
would be good to have only a minimal set of data on it.

So I can mysqldump any way it'd be best and I'd have to 
insert ideally not replacing anything, instead aggregating, 
adding data.
I think developers took care of uniqueness of the rows, and 
constructed it in conformity with good design practices.

What I'm only guessing is when I lock, dump and remove then 
insert, aggregate could there be problems with keys? And no 
data loss during dump+removal?

thanks for sharing your thoughts.
>
> I agree with others, in general this approach smells like a bad idea.
> However, updating data from a remote system in batch is quite common,
> except often it's done at the application level polling things like web
> services and perhaps some business logic to ensure integrity is
> maintained.  Attempting to do it within the constructs of the database
> itself is understandable, but there are risks when not adding that "layer"
> of logic to ensure state is exactly as you expect it during a merge.
>
> At risk of giving you too much rope to hang yourself: if you use mysqldump
> to dump the database, if you use the --replace flag you'll convert all
> INSERT statements to REPLACE, which when you merge will update or insert
> the record, effectively "merging" the data.  This may be one approach you
> want to look at, but may not be appropriate depending on your specific
> situation.
>
> S
>
>
>
> On Mon, Feb 29, 2016 at 11:12 AM, lejeczek <[email protected]> wrote:
>
>> On 29/02/16 15:42, Gary Smith wrote:
>>
>>> On 29/02/2016 15:30, lejeczek wrote:
>>>
>>>> On 28/02/16 20:50, lejeczek wrote:
>>>>
>>>>> fellow users, hopefully you experts too, could help...
>>>>>
>>>>> ...me to understand how, and what should be the best practice to dump
>>>>> database, then drop it and merge the dumps..
>>>>> What I'd like to do is something probably many have done and I wonder
>>>>> how it's done best.
>>>>> A box will be dumping a database (maybe? tables if it's better) then
>>>>> dropping (purging the data) it and on a different system that dump swill be
>>>>> inserted/aggregated into the same database.
>>>>> It reminds me a kind of incremental backup except for the fact that
>>>>> source data will be dropped/purged on regular basis, but before a drop, a
>>>>> dump which later will be used to sort of reconstruct that same database.
>>>>>
>>>>> How do you recommend to do it? I'm guessing trickiest bit might this
>>>>> reconstruction part, how to merge dumps safely, naturally while maintaining
>>>>> consistency & integrity?
>>>>> Actual syntax, as usually any code examples are, would be best.
>>>>>
>>>>> many thanks.
>>>>>
>>>>>
>>>>> I guess dropping a tables is not really what I should even consider -
>>>> should I just be deleting everything from tables in order to remove data?
>>>> And if I was to use dumps of such a database (where data was first
>>>> cleansed then some data was collected) to merge data again would it work
>>>> and merge that newly collected data with what's already in the database
>>>>
>>> This sounds like a remarkably reliable way to ensure no data integrity.
>>> What exactly are you trying to achieve? Would replication be the magic word
>>> you're after?
>>>
>>> I realize this all might look rather like a bird fiddling with a worm
>> instead of lion going for quick kill. I replicate wherever I need and can,
>> here a have very little control over one end.
>> On that end with little control there is one simple database, which data
>> I'll need to be removed on regular basis, before removing I'll be dumping
>> and I need to use those dumps to add, merge, aggregate data to a database
>> on the other end, like:
>> today both databases are mirrored/identical
>> tonight awkward end will dump then remove all the data, then collect some
>> and again, dump then remove
>> and these dumps should reconstruct the database on the other box.
>>
>> Pointers on what to pay the attention to, how to test for consistency &
>> integrity, would be of great help.
>>
>>
>> Gary
>>>
>> --
>> MySQL General Mailing List
>> For list archives: http://lists.mysql.com/mysql
>> To unsubscribe:    http://lists.mysql.com/mysql
>>
>>


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.