سلسله‌مراتب داده
سلسله مراتب داده به سازماندهی منظم داده‌ها، معمولاً در قالب سلسله مراتبی اشاره دارد. سازماندهی داده شامل خاصیت‌ها، زمینه (فیلد)ها، سوابق (رکوردها)، پرونده (فایل)ها و غیره می‌باشد. این مفهوم نقطه شروعی است برای فهمیدن آنچه که داده‌ها را تشکیل می‌دهد و اینکه آیا داده‌ها دارای یک ساختار هستند یا خیر. به عنوان مثال، شخصی چگونه اطلاعاتی مانند «کارمند»، «نام»، «بخش»، «مارسی اسمیت»، «بخش فروش» و غیره را درک می‌کند با فرض اینکه همه آنها مرتبط هستند؟ یک راه برای درک آنها این است که این الفاظ را به عنوان اجزای کوچکتر یا بزرگتر در یک سلسله مراتب ببینید. ممکن است بگوییم مارسی اسمیت یکی از کارکنان بخش فروش است یا نمونه ای از یک کارمند در آن بخش. اطلاعاتی که ما می‌خواهیم دربارهٔ همه کارکنان مان، و نه تنها مارسی، ضبط کنیم، نام، شناسه، آدرس و غیره است.
ساختار داده‌های ماندگار
ساختار داده‌ای کاملاً پایدار است اگر هر نگارش هم در دسترس باشد و هم تعدیل شود. اگر در اینجا عملیاتی بود که از ترکیب دو ورژن قبل یک ورژن جدید خلق می‌کرد ساختار داده‌ای پایدار ترکیبی فراخوانی شده بود. این ساختار دادها (پایدار)نامیده می‌شود. ساختاری که(پایدار) نیست گذرا نامیده می‌شود این ساختار داده‌ها بیشتر (منحصراً) در برنامه نویسی تابعی و منطقی رواج دارند و در یک برنامه کاملاً تابعی تمام داده‌ها تغییر ناپذیر هستند. بنابراین تمام ساختار دادها به صورت خود کار کاملاً پایدار هستند. ساختار داده‌ها ی پایدار نیز می‌توانند با بروز کردن داده‌ها در همین نسخه به وجود بیایند و این کار عموماً باعث می‌شود که زمان وفضای ذخیره کمتری ازنمونه کاملاً تابعی مورد استفاده قرار بگیرند. در حالیکه پایداری داده‌ها می‌تواند خیلی ساده از طریق کپی کردن صورت بگیرد اما این کار از لحاظ فضا و زمان کارایی ندارد چون بیشتر عملیاتی که انجام می‌شود تغییرات مختصری در ساختار داده‌ها به وجود می‌آورد. یک روش بهتر این است که از شباهت‌هایی که بین ورژن‌های جدید وقدیم وجود دارد استفاده کنیم تا از ساختار بین آن‌ها به نسبت مساوی بهره ببریم مانند استفاده از فرعی که در تعدادی از ساختارهای درختی موجود است. به هر حال از آنجایی که به سرعت امکان‌پذیر نیست که مشخص شود که چند تا ورژن قبلی در این کار وجود دارد که چه قسمت‌هایی از ساختار و به دلیل اینکه غالب اوقات مطلوب آن که ورژن‌های قدیمی منسوخ شده‌اند این امر مستلزم این است که با جمع‌آوری کلکسیون‌های منسوخ ایجاد شود. شاید ساده‌ترین ساختار داده‌ای ماندگار لیست linked-singly یا لیست based-cons باشد. یک لیست ساده فرم اهداف به وسیله هر یک مراجع حامل به لیست بعد است. این پایدار است زیرا ما می‌توانیم یک انتها از لیست را بگیریم، به معنی k آیتم قبلی برای k تا و اضافه کنیم به انتهای آن. این دنباله ممکن است دو نسخه‌ای نباشد ولی در عوض مناسب برای هر دو نسخه جدید و قدیم خواهد بود.  تعدادی از منابع پایدار ساختار داده‌ها از قبیل درخت black-red و صف‌ها می‌توانند به راحتی با نسخه‌های پایدار متناسب شوند. یک نسخه پایدار آرایه‌ای ساختار داده‌ای Vlistتوسط phil bagwellتشریح شده‌است.