0

I have a MySQL database where all the data contained is encrypted (2200 records, 30 columns) to protect student's personal data. When running reports, I create a duplicate blank table, query the encrypted table, decrypt each record and add to the new temporary table. I then can run my query on the decrypted data and drop the temporary table when I'm done. This takes too much time and overhead.

What I'd like to do is create a cached version of the decrypted table in memory, which would be available to any function, any user, within the site - and then run queries off of the memory-based table. I realize I'd have to either destroy and recreate the table, or update the cached data if any table data changed, but that's ok.

I'm leaning toward using WinCache, as the site is hosted on a Windows server.

Bill_VA
  • 913
  • 7
  • 12
  • 3
    This site is for programming questions. We're not a sounding board for possible designs of your site/architecture. – Marc B Aug 15 '16 at 14:34
  • What's the point of encrypting all that data on the database and then holding it in plaintext in memory? – Mark Baker Aug 15 '16 at 14:40
  • Not asking for architecture design help, I'm asking a very specific programming question. How can I instantiate a global array, available to any page of the site, replicating a database table, and be able to run a query from it? We are dealing with a state who requires us to encrypt ALL personally identifiable information (PII), there are about 30 columns of data we collect that meet that requirement. That decrypting process takes too much time, and being able to create a memory cached version of that decrypted data would be so much better. Like stated above, I think WinCache is the way. – Bill_VA Aug 15 '16 at 21:55

0 Answers0