Querying cache with data that is large enough to fit into available memory

Query on a cache would be applicable on the data that can fit into the cache storage as per the link http://coherence.oracle.com/display/COH35UG/Query+the+Cache. However there is also a mention about restricting the cache content along a specific dimension, so that the query actually knows what to expect from the cache.
Generally any enterprise application would generate huge amount of data and practically it would be difficult to set the fix up the limit to a specific dimension. Fixing the limit is to decide on what else has to be taken from the persistent store.
Please let me know if there are best practices defined in this regard?
Edited by: Mahesh Kamath on Feb 5, 2010 3:16 AM

Hi,
Thanks for the clarification.
Okay. So in a nutshell it sounds like you have data spanning a memory cache and living in a database and
you want to be able to query the entire dataset, so you need someway to figure out what
is in the cache and what is in the database?
In general queries in Coherence only work against the cached data, and because of the LRU characteristics
of memory caches its going to be really difficult to know at a point in time what set of information is living
in memory and which has been evicted and persisted in the underlying database. If the dataset that spills
over into a database is fringe (i.e. a small percentage of your total data), then the simplest solution is to
add new cache servers to get you out of this problem (i.e. avoid databases). If the cache is just the tip
of the iceberg of all your data than you probably want to have either a write-through or write-behind
configuration and query the database directly (write-through will get you everything you put into a cache,
while write-behind will get everything except for the most recent puts which are working their way to being written in batch).
My guess is that retrieval of keys out of the database, and then retrieval of data through the cache using
the keys would not be a good idea. For one thing if the database is substantially larger than the cache,
the entire cache will get evicted by the query activity, which generally is a bad idea. More importantly the
code path to get the data will be much longer and would result in N number of invocations of SQL as opposed
to a single invocation of SQL with a cursor.
Regards,
Bob

Similar Messages

  • I have a hard disk drive with data that i want to back up onto another hard disk drive. I tried just copy and it won't let me paste it in the new drive. I have also tried to drag the files across and they won't go across. Does anyone know how to do this?

    I have an external hard disk drive with data that I want to back up onto another extrnal hard disk drive. I have tried to copy and paste but this wont give me a paste option. I have also tried to click and drag but it wont let me either. I have reformatted the external hard drive to accept both mac and pc files and this did not make any difference. Can anyone help me with this?

    How did you reformat the drive? If you formatted it as NTFS, your Mac will not be able to write files to it unless you use a small application such as Paragon's.
    Please reply as to how you formatted the drive.
    Clinton

  • Why my ipad warranty doesn't match with date that i bought? I bought ipad 4 yesterday but as you guys know it was already discontinued.. Has my ipad been used?

    Why my ipad warranty doesn't match with date that i bought? I bought ipad 4 yesterday but as you guys know it was already discontinued.. Has my ipad been used?
    I bought in 14 january 2014 and the expiration said it will be in 5 september 2014
    Is it mean that my ipad had been activated in 5 sept las year?
    But the packaging is good and it looks like very new.
    Please help me....
    I bought in IT plaza in kuala lumpur, malaysia..
    Heeellllppp...

    The merchant told me it is new. And when they opened the box and turn the ipad on, the ipad asked me to activate first.
    Is the 'restore to factory setting' can make us must activate the ipad again??

  • I am having difficulty including text with iPhotos I want to share through email.  I get a red exclamation mark along with a statement stating that the text doesn't fit into the designated text area.  This is so frustrating.

    I am having difficulty including text with iPhotos I want to share through email.  I get a red exclamation mark along with a statement stating that the text doesn't fit into the designated text area.  This is so frustrating. Before iLire11 I was easily able to share photos with email messages.  Arghhhh!

    In the iPhoto preferences you can set Apple Mail as your e-mail client and then it will work exactly as before
    LN

  • SAP BW 3.5 Query Cache - no data for queries

    Dear experts,
    we do have a problem with the SAP BW Query Cache (BW 3.5). Sometimes the
    problem arise that after the queries have been pre-calculated using web templates there are no figures available when running a web-report, or when doing a drilldown or filter navigation. A solution to solve that issue is to delete the cache for that query, however this solution is not reasonable or passable. The problem occurs non-reproducible for different queries.
    Is this a "normal" error of the SAP BW we have to live with, or are there any solutions for it? Any hints are greatly appreciated.
    Thanks in advance & kind regards,
    daniel

    HI Daniel
    Try to wirk without cache for those queries.
    Anyway, you should check how the cache option is configured for those queries .
    You can see that, in RSRV tx
    Hope this help

  • Problem in continuous query cache with PofExtractor

    Hi,
    I am creating a CQC with a filter having PofExtractor. When I try to insert any record in cache it is giving me exception at server side.
    When I do not use PofExtractor it is working fine.
    If any one know about this prblem please help.
    I am using C# as my client application
    Regards
    Nitin Jain

    Hi JK,
    I have made some changes in my server. Now I am not using any pof definition on server side. I think that's why it is giving me the error.
    2010-04-13 15:39:07.481/20.593 Oracle Coherence GE 3.5.1/461 <Error> (thread=DistributedCache, member=1): Exception occured during filter evaluation: MapEventFilter(mask=INSERTED|UPDATED_ENTERED|UPDATED_WITHIN, filter=GreaterEqualsFilter(PofExtractor(target=VALUE, navigator=SimplePofPath(indices=0)), Nitin)); removingthe filter...
    2010-04-13 15:39:07.481/20.593 Oracle Coherence GE 3.5.1/461 <Error> (thread=DistributedCache, member=1):
    (Wrapped) java.io.StreamCorruptedException: unknown user type: 1001
    at com.tangosol.util.ExternalizableHelper.fromBinary(ExternalizableHelper.java:261)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$ConverterFromBinary.convert(DistributedCache.CDB:4)
    at com.tangosol.util.ConverterCollections$ConverterMapEvent.getNewValue(ConverterCollections.java:3594)
    at com.tangosol.util.filter.MapEventFilter.evaluate(MapEventFilter.java:172)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$Storage.prepareDispatch(DistributedCache.CDB:82)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$Storage.postInvoke(DistributedCache.CDB:10)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$Storage.put(DistributedCache.CDB:156)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.onPutRequest(DistributedCache.CDB:37)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$PutRequest.run(DistributedCache.CDB:1)
    at com.tangosol.coherence.component.net.message.requestMessage.DistributedCacheKeyRequest.onReceived(DistributedCacheKeyRequest.CDB:12)
    at com.tangosol.coherence.component.net.message.requestMessage.distributedCacheKeyRequest.ExtendedKeyRequest.onReceived(ExtendedKeyRequest.CDB:4)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onMessage(Grid.CDB:9)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:136)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.onNotify(DistributedCache.CDB:3)
    at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.io.StreamCorruptedException: unknown user type: 1001
    at com.tangosol.io.pof.PofBufferReader.readAsObject(PofBufferReader.java:3289)
    at com.tangosol.io.pof.PofBufferReader.readObject(PofBufferReader.java:2600)
    at com.tangosol.io.pof.ConfigurablePofContext.deserialize(ConfigurablePofContext.java:348)
    at com.tangosol.util.ExternalizableHelper.deserializeInternal(ExternalizableHelper.java:2673)
    at com.tangosol.util.ExternalizableHelper.fromBinary(ExternalizableHelper.java:257)
    ... 15 more
    Is there any way by which we can apply continuous query cache without providing object definition at server side?
    Regards
    Nitin Jain

  • Error when populating cache with data.

    Hi,
    I am new to Oracle coherence. I was just following the examples at the following link:
    http://download.oracle.com/docs/cd/E15357_01/coh.360/e15831/toc.htm
    I am stuck at the following chapter:
    5.2 Populating a Cache with Domain Objects
    I am able to run the DataGenerator.java successfully. The contacts.csv file gets created.
    When i run the LoaderExample.java, i get the following output:
    Work: NE
    77596
    Yoyodyne Propulsion Systems, Grover's Mill US
    330 Lectroid Rd.
    Telephone Numbers
    work: +11 927 20 4526527
    home: +11 633 82 6834859
    Birth Date: 1964-01-03
    Exception in thread "main" (Wrapped) java.io.NotSerializableException: com.oracle.handson.ContactId
         at com.tangosol.util.ExternalizableHelper.toBinary(ExternalizableHelper.java:215)
         at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService$ConverterKeyToBinary.convert(PartitionedService.CDB:29)
         at com.tangosol.util.ConverterCollections$AbstractConverterEntry.getKey(ConverterCollections.java:3387)
         at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService.splitEntriesByOwner(PartitionedService.CDB:17)
         at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$BinaryMap.ensureRequestTarget(PartitionedCache.CDB:18)
         at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$BinaryMap.putAll(PartitionedCache.CDB:34)
         at com.tangosol.util.ConverterCollections$ConverterMap.putAll(ConverterCollections.java:1607)
         at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$ViewMap.putAll(PartitionedCache.CDB:1)
         at com.tangosol.coherence.component.util.SafeNamedCache.putAll(SafeNamedCache.CDB:1)
         at com.oracle.handson.LoaderExample.load(LoaderExample.java:105)
         at com.oracle.handson.LoaderExample.main(LoaderExample.java:37)
    Caused by: java.io.NotSerializableException: com.oracle.handson.ContactId
         at java.io.ObjectOutputStream.writeObject0(Unknown Source)
         at java.io.ObjectOutputStream.writeObject(Unknown Source)
         at com.tangosol.util.ExternalizableHelper.writeSerializable(ExternalizableHelper.java:2216)
         at com.tangosol.util.ExternalizableHelper.writeObjectInternal(ExternalizableHelper.java:2664)
         at com.tangosol.util.ExternalizableHelper.serializeInternal(ExternalizableHelper.java:2564)
         at com.tangosol.util.ExternalizableHelper.toBinary(ExternalizableHelper.java:211)
         ... 10 more
    2010-11-15 16:20:04.741/4.812 Oracle Coherence GE 3.6.0.0 <D4> (thread=ShutdownHook, member=4): ShutdownHook: stopping cluster node
    2010-11-15 16:20:04.772/4.843 Oracle Coherence GE 3.6.0.0 <D5> (thread=DistributedCache, member=4): Service DistributedCache left the cluster
    Can anyone please help me as to why i am getting this error?
    I am unable to move forward to the next example due to this error.
    Any ideas would be of great help.
    Thanks

    Can you post the code for the ContactId class? I suspect you have forgotten to implement one of the PortableObject, Serializable, Externalizable, or ExternalizableLite interfaces. If that isn't it are you telling Coherence to use POF?
    -Dtangosol.pof.enabled=true -Dtangosol.pof.config=pof-config.xmlEdited by: Willy Myers on 15-Nov-2010 04:02

  • Empty query cache with ABAP code

    Hi Experts,
    Is there any way to empty the query cache using ABAP code?
    Thank you!
    Regards,
    Sam

    Sam,
    You can clear cache by using transaction RSRCACHE. Also, you can use a BDC ABAP program to do it.
    -Saket

  • Unable to query records with data in exponential value ? ?

    Hello,
    I have a strange problem here, hope someone can answer my query.
    I have 2 tables where the 1st col is a seq with datatype NUMBER(22) and NOT NULL constraint. Now, the value within that col is quite large and hence when I query the table in TOAD/SQL developer it displays output in exponential form. Now the issue is this, In one table I'm able to find/search a particular row by using the exp value within where clause and the same is not possible in other table.
    The sample data is here.
    I'm able to search record by using the below values in 1 table but same is not possible in another.
    1200000211600013
    1.20000021160001E15
    Can anybody tell me what could be the possible reason for this or where should I look for to find an answer?
    Thanks in Advance!!
    Toufiq

    Seems there's no problem in Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    with
    numbers as
    (select 1200000211600013330 the_number from dual union all
    select 1200000211600013333 from dual
    select n.the_number,s.search_string
      from numbers n,
           (select :your_number search_string
              from dual
           ) s
    where n.the_number(+) = to_number(s.search_string)
    THE_NUMBER
    SEARCH_STRING
    1200000211600013333
    1200000211600013333
    THE_NUMBER
    SEARCH_STRING
    1200000211600013333
    1.200000211600013333E18
    THE_NUMBER
    SEARCH_STRING
    1200000211600013333
    12000002116.00013333E+8
    THE_NUMBER
    SEARCH_STRING
    1200000211600013330
    1.20000021160001333E+18
    THE_NUMBER
    SEARCH_STRING
    1.20000021160001333E17
    Even implicit conversion seems to work
    select n.the_number,s.search_string,dump(s.search_string,16) search_dump,dump(n.the_number) result_dump
      from numbers n,
           (select :your_number search_string
              from dual
           ) s
    where s.search_string = n.the_number(+)
    THE_NUMBER
    SEARCH_STRING
    SEARCH_DUMP
    RESULT_DUMP
    1200000211600013330
    1.20000021160001333E18
    Typ=1 Len=22: 31,2e,32,30,30,30,30,30,32,31,31,36,30,30,30,31,33,33,33,45,31,38
    Typ=2 Len=11: 202,2,21,1,1,22,17,1,2,34,31
    Regards
    Etbin

  • Using a Heiarchical Tree with data that can be grouped

    Hello Forum
    I have been tasked with coming up with a selector for one of our applications that uses a tree. I have built a mock-up using the example provided at Craigs Oracle Stuff (https://sites.google.com/site/craigsoraclestuff/oracle-forms---how-to-s/forms-how-to-create-a-hierachical-tree-form) that subsuitutes our data in the SQL for his, and I have successfully added another loop as the data is located in 3 tables, but have come across a few issues. I have been searching the forums and google, but cannot find anything to solve the issues that I am having. Any help is appreciated. This is being developed in 10g. The data is structured as follows.
    Category(root)
    ID, Name
    1, A
    2, B
    3, C
    SubCategory (Level 2)
    ID, Name, CatID
    1, A, 1
    2, B, 1
    3, C, 1
    Codes (Level 3 and beyond?)
    ID SubCatID Description
    1, 1, 'The, quick'
    2, 1, 'The, quick, brown'
    3, 1, 'The, quick, brown, fox, jumps'
    4, 1, 'The, quick, brown, fox, jumps, over, the lazy, dog'
    5, 2, 'Wafting, zephyrs, quickly, vexed, Jumbo'
    6, 2, 'Wafting, zephyrs, quickly'
    As you can see the codes table has a lot of repeating values that are delimited by ',' (commas). I can produce a tree out of the 3 tables but...
    Problem:
    The description in the codes table can be as many as 255 characters. The tree seems to truncate the values around 60 characters. I am not sure what the maximum data lenghts in the tree are, or if the max lengths are limited by the node or the entire tree. Although the Category and Subcategory names can be as much as 120 characters, they are more typically around 25 characters.
    Could this problem be remedied buy deepeing the levels of the tree by grouping the values in the codes table on the comma delimiters? The max number of commas in the description is 9, so that would make the tree up to 11 levels deep. I know how to get the text between the commas, but am unsure how to link the data back to the parent
    Ex. The tree would be
    A
    ->A
    ->->The
    ->->->quick
    ->->->->brown
    Thanks for any Assistance
    Mike
    EDIT: I found the reason that the label of the node is being limited in length. The limit is actually 50char because of this line in Craig's code in the Create_RG function:
    gc_id := Add_Group_Column(rg_id, 'label', CHAR_COLUMN,50);
    I changed the limit to 255 and now all of the data displays.
    Although working now, I would still like to know id there is a way of grouping the data into the tree view, as this would make the tree much more readable.
    Mike
    Edited by: saskcivic on Feb 5, 2013 7:36 AM

    hi,
    In BI CONTENT,, v can just install any Object,,for that, matter,,just to make that object Active. So by Default it vll nt have any data. Install any Query data flow before and after, then select some master characteristics, and transaction data,,schedule them, Load the data,, then Ur Report Data vll display.
    Cheers
    Thanks

  • Query problem with date range

    I have a query that needs to pull data between a date range.
    I've tried several things and nothing seems to work.
    Any help would be greatly appreciated.
    Here's the code:
    <cftransaction>
    <cfquery name="QryFollowUp"
    datasource="NBProdReports">
    SELECT TblContractInfo_SubMenuTable.User_ID,
    TblContractInfo_SubMenuTable.Contract_Number,
    TblContractInfo_SubMenuTable.Transaction_Type,
    TblContractInfo_SubMenuTable.Notes,
    TblContractInfo_SubMenuTable.Num_Checks_Trans,
    TblMasterTrans.Date_Opened
    from TblContractInfo_SubMenuTable ,tblMasterTrans
    WHERE Transaction_Type = 'FollowUp'
    And TblContractInfo_SubMenuTable.Task_Number =
    tblMasterTrans.Task_Number
    And TblMasterTrans.Date_Opened BETWEEN #form.StartDate# AND
    #form.EndDate#
    ORDER BY TblMasterTrans.Date_Opened ASC,
    TblContractInfo_SubMenuTable.User_id ASC
    </cfquery>
    </cftransaction>

    Any help would be greatly appreciated.
    Ok, why are you using a <cftransaction...> around a
    single select query?
    It should be unnecessary.
    This is probably not helpful to your original question. There
    is
    nothing obviously wrong with your query at least to my glance
    through.
    Thus this important question, the one without which you are
    unlikely to
    get any helpful advice, "How does this not work?" Error
    Messages? No
    Data? Wrong Data? Serves you coffee instead of tea?
    It would also probably be helpful to know how your date data
    is
    represented in the database and the form controls, depending
    on what
    your difficulties are.

  • Query for Old Data that does not match New Data within a given time period

    Hello all,
    One of the reports I need to create is for all associates who went from one department to another within a given time period. The way I ran this report in Reportsmith (pulling from our old system) was to compare the dept field from the beginning date to the dept field at the end date and it would give me those associate's that had moved. I had to do it this way b/c dept changes can happen using several different types of actions (supv change, promotion, etc.), none of them exclusive to just dept changes. We are now using Oracle HRMS and I need to create this same report with this system using SQL.
    Does anyone know how to compare data between two different dates and pull the ones that don't match? Your help will be GREATLY appreciated!
    Warm Regards,
    Yasmin E. Alberto
    HRIS Analyst
    [email protected]

    Hi, Yasmin,
    In the sample data you posted, nobody changed departments between May 1 and May 11. In fact, there were no assignments of any kind between January 16 and May 17, so I wouldn't expect any output for that period.
    A person (or rather, a duck) did change deptartments on May 20, so if you change the upper limit of the date range to
    AND    ASG_LAST_UPDATE_DATE < TO_DATE ('05/21/09', 'MM/DD/RR')you should see her.
    You've probably noticed that this site likes to compress white-space.
    To post formatted text (such as table results or indented code) type these 6 characters:
    (small letters only, inside curly brackets) before and after sections of formatted text, to preserve spacing.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Query report with date difference.

    Hi Expert,
    I'm using below query to monitor unreleased checks. we have a policy that the holding period for unreleased check is 5 working days.
    SELECT T2.[CardCode], T2.[CardName], T0.[TransId], T0.[DueDate], T1.[Credit], T1.[U_DisBank], T4.[Name], DateDiff(dd,T0.[DueDate],GetDate()) As 'OverDue Days' FROM OJDT T0  INNER JOIN JDT1 T1 ON T0.TransId = T1.TransId  INNER JOIN OCRD T2 ON T1.ShortName = T2.CardCode  INNER JOIN "@HOFFICE"  T4 ON T1.U_Disbank = T4.Code WHERE T1.[Credit] !=0 AND  T0.[DueDate] >=[%0] AND  T0.[DueDate] <=[%1] AND  T1.[balduedeb]+T1.[balduecred] !=0 ORDER BY T4.[Name]
    However I would like to exclude weekends in computing date difference. Can you please help me modify my query code?
    Thanks,
    Arlmi2000

    Hi,
    A simple solution will be change DateDiff(dd,T0.DueDate,GetDate()) to DateDiff(dd,T0.DueDate,GetDate())*5/7+1
    This can cover all the weekends. If you need to be exact that including public holiday, the coding will be  longer.
    Thanks,
    Gordon

  • Report with data that is present in cube and not in ODS from a multiprovide

    Hi Friends,
    I have a multiprovider with one cube and one ODS. I have a requirement to create a exception report. This exception report should have records that are present in cube but not in ODS. If cube has a record which is present in both infoproviders then report should not display that.
    I hope I am clear on my question.
    Thanks and regards,
    Balaraj

    Thanks Timur,
    But this is going to give me all the data present in that selected cube. I want to the report to display data only if it is present in cube but not in ODS.
    ODS data
    Material............Component...........Amount
    10001.................30001................100
    10001.................30002................200
    Cube Data
    Material....................Amount
    10001.......................100
    20002.......................200
    My report should display
    Material................Amount
    20002...................200
    It should not display 10001 as it is present in ODS.
    I hope I am clear this time.
    Thanks and regards,
    Balaraj

  • Find ODS's with data that is not activated

    Hello,
    Does anyone know a systematic way to find ODS objects containing data loads that are not activated?
    we are working on a system upgrade and this is one thing that we have been asked to identify.
    Thanks,
    Nick

    Hello,
    I found something that will work.
    In RSA1 I clicked on the 'Modelling' tab in the left pane.
    I then clicked on the 'Status Overview' and I was able to review the ODS's there.
    Thanks,
    Nick

Maybe you are looking for

  • Can I return my refurbished phone?

    I lost my phone some I ordered a refurbished phone through the Verizon store. Later that day someone gave me their old Verizon phone, which I would rather use. Can I return the refurbished one they just mailed me and have them activate the phone my f

  • Adobe flash player safari processor +100%?

    Hello everyone, I have a question regarding the use of adobe flash player with safari: how is it that the processor runs at more than one hundred percent when using flash player? I do not understand why the problem is still not solved after all this

  • Backlight problem

    i have this weird problem with my new ipod touch which i bought last thursday. the backlight keeps randomly turning off when im using apps and sometimes it just randomly turns off on the homescreen. i have tried resetting its settings and restoring i

  • Maximum length of Login ID

    Hi, Is there any parameter in ABAP system that can be set to restrict the maximum length of Login ID Raj

  • I have made a flyer in Pages

    I made a flyer in Pages and one of the little text box "corner squares" will not disappear. It is actually the center bottom square that has the little plus sign in it. Can anyone tell me how to get rid of it?